Как ввести 64-битные шестнадцатеричные значения в октаве

1108
Chris Ashton

Я пытаюсь использовать Octave в качестве калькулятора для программистов. Я хочу ввести 64-битный указатель, но когда я это сделаю, 64-битное значение, по-видимому, будет молча усечено до 32-битного:

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

Так что кажется, что это усеченное входное значение до младших 32 бит. Я бы использовал scanf, но в документах сказано, что его следует использовать только для внутреннего использования.

Как я могу ввести полное 64-битное значение?

Альтернативно, есть ли какой-нибудь потрясающий бесплатный калькулятор для Windows? (Я знаю, что в калькуляторе Windows есть режим программиста, но я бы хотел поддержку произвольных переменных). Я попытался использовать свой ti-89, но он также не поддерживает 64-битный гекс.

0
Зависит от того, что именно вы ищете в «калькуляторе для программиста», но `python` отлично работает для меня при сколь угодно больших значениях. Калькулятор Windows 7 не так уж и плох. jjlin 11 лет назад 0
Итак, мне нравится ваше предложение намного лучше - оно «просто работает», по-видимому, даже за пределами 64-битных значений. Chris Ashton 11 лет назад 0
Кроме того, я выяснил, как это сделать в Octave, но это неприятно - вам нужно сделать hex2dec ("0xa0a0b0b0c0c0d0d0") или любое другое значение, которое вы хотите - по любой причине, это может правильно читаться в строке. Chris Ashton 11 лет назад 0

0 ответов на вопрос

Похожие вопросы