Konvertieren von unsigned long int, signed int und Umgekehrt

Ich gerne weitergeben möchte einen signed int zu gsl_rng_uniform_int (const gsl_rng * r, unsigned long int n). Die signed int, die ich bin übergeben wird, größer als oder gleich null ist. Die Funktion gibt eine Zahl zwischen 0 und n, also, wenn ich pass es eine positive signed int, es wird etwas von dem zurückgeben, die in den Bereich eines signed int. Dann möchte ich speichern den Rückgabewert in ein signed int. Was ist der sauberste Weg, dies zu tun mit der offensichtlichen erwarteten Verhalten? Ich bin auf einem 64-bit-compiler für 64-bit-Linux-Maschine.

Update
Sorry, Leute. Bitte ignorieren Sie. Das problem mit meinem code war eigentlich woanders. Ich fehlinterpretiert die Ausgabe von gdb.

InformationsquelleAutor mshang | 2011-07-27
Schreibe einen Kommentar