MS Calculator на windows 7. Мне нужно знать, как он работает - PullRequest
0 голосов
/ 04 января 2010

MS калькулятор на Windows 7 имеет режим «программистов». Когда я набираю (в двоичном виде): 11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

и затем нажмите «Dec», двоичный файл превратится в -1. Когда я нажимаю Окт, значение превращается в 1777777777777777777777

Однако всякий раз, когда я использую онлайн-конвертер, он не работает. Мне нужно знать, как это делает калькулятор, чтобы я мог эмулировать его в c ++.

Ответы [ 3 ]

7 голосов
/ 04 января 2010

Используется 64-битная двоичная нотация дополнения. По сути, когда вы добавляете один к 2^63 - 1, он переполняется, и вы получаете -2^63. Википедия для более подробной информации

1 голос
/ 04 января 2010

Это делает два дополнения , когда вы переключаете его на десятичную. В восьмеричной форме он выполняет прямое преобразование.

1 голос
/ 04 января 2010

Вы когда-нибудь слышали о дополнении 2s? Все зависит (логически от длины двоичного числа. Однако аппаратное обеспечение позволяет работать с одним словом за раз.

...