Eingabe von 64-Bit-Hex-Werten in Oktave

1182
Chris Ashton

Ich versuche, Octave als Taschenrechner für Programmierer zu verwenden. Ich möchte einen 64-Bit-Zeiger eingeben, aber wenn ich dies tue, wird der 64-Bit-Wert anscheinend still auf 32-Bit abgeschnitten:

octave:44> base_ptr=0x1010101020202020 base_ptr = 538976288 octave:45> uint64(base_ptr) ans = 538976288 octave:46> printf("%lx\n", base_ptr) 20202020 

Es scheint also, als ob der Eingabewert auf die niedrigen 32 Bit gekürzt wurde. Ich würde scanf verwenden, aber die Dokumente sagen, es sollte nur intern verwendet werden.

Wie kann ich den gesamten 64-Bit-Wert eingeben?

Gibt es alternativ einen fantastischen Rechner für kostenlose Programmierer für Windows? (Ich weiß, dass der Windows-Rechner einen Programmierermodus hat, ich möchte jedoch die Unterstützung beliebiger Variablen). Ich habe versucht, mein Ti-89 zu verwenden, aber es unterstützt auch kein 64-Bit-Hex.

0
Kommt drauf an, wonach Sie in einem "Programmierrechner" suchen, aber "Python" funktioniert für mich mit beliebig großen Werten. Der gängige Windows 7-Rechner ist auch nicht so schlecht. jjlin vor 11 Jahren 0
Ich mag Ihren Vorschlag also viel besser - er funktioniert "scheinbar" sogar über 64-Bit-Werte hinaus. Chris Ashton vor 11 Jahren 0
Ich habe auch herausgefunden, wie man das in Octave macht, aber es ist ein Schmerz - Sie müssen hex2dec ("0xa0a0b0b0c0c0c0d0d0") oder einen beliebigen Wert machen, den Sie wollen - aus welchem ​​Grund auch immer, das kann der String richtig lesen. Chris Ashton vor 11 Jahren 0

0 Antworten auf die Frage