использование клавиш Lsh и Rsh в калькуляторе Windows 7

9

Кто-нибудь знает функцию клавиш Lsh и Rsh в калькуляторе Windows 7, когда он находится в режиме программиста. Можно было бы подумать, что это означает сдвиг битов влево и вправо, но этого, похоже, не происходит: иногда ничего не происходит, иногда я получаю сообщение «Результат не определен» на дисплее. Кто-нибудь еще разобрался, это известная ошибка?

В то время как у нас есть, есть ли у кого-нибудь предложения для хорошего калькулятора, один с хорошим справочным руководством / руководством пользователя (кажется, что справка Windows не дает никаких подсказок о том, что делает любая из клавиш в любом режиме).

Том
источник
Это в ответ на паду. Думаю, вы использовали «16» как есть. Обратите внимание, что вы находитесь в шестнадцатеричном режиме, а «16» на самом деле шестнадцатеричный, а не десятичный.

Ответы:

12

Lshи Rshвыполняйте левую и правую смены соответственно. После нажатия кнопки вам необходимо указать количество двоичных цифр, которые вы хотите сдвинуть. Смотрите "Что делают все кнопки?" здесь для получения дополнительной информации.

sblair
источник
Есть ошибка со сдвигами в калькуляторе, хотя. Перейдите в шестнадцатеричный режим, выберите DWORD и введите 10000. Теперь попробуйте сместить вправо 16. Ответ должен быть 1, но калькулятор дает 0. На самом деле это еще более странно. Попробуйте ту же процедуру, но сдвиньте вправо на 8 и снова на 8 ... ответ правильный. Теперь попробуйте тот же номер снова, но сдвиньте вправо на 12 ... снова ноль! Я думаю, кто бы ни программировал этот калькулятор, он не был программистом :-)
Padu Merloti
5
Паду, то, что ты делаешь, правильно сдвигает 22 бита! Вы находитесь в режиме hex помните. ;)
0

Это не столько ошибка, сколько недоразумение нас, пользователей. (Я думаю, что программисты Calculator тоже приложили руку к этому.)

Если вы находитесь в шестнадцатеричном режиме, я обнаружил, что число, которое вы вводите после нажатия клавиши Lsh, является шестнадцатеричным, а не десятичным числом.

Например, если вы хотите сдвинуть бит на 23 знака после запятой влево, можно ожидать, что вы введете 1, затем нажмите Lsh, а затем введите 23. Но в действительности происходит сдвиг на 35 бит (23 ч = 35 десятичных. )

Итак, если вы действительно хотите сдвинуть 23 десятичных разряда, магическое число для ввода (после нажатия клавиши Lsh) будет 17.

Я бился головой об этом в течение нескольких часов, пока я случайно не нажал Lsh 10 один раз и получил смену 16.

Обходной путь - ввести число в шестнадцатеричном режиме, переключиться в десятичный режим, нажать клавишу Lsh (или Rsh), ввести десятичное число бит для сдвига, (затем = конечно), а затем переключиться обратно в шестнадцатеричный режим.

Что за пита.

Отметка.

Крутой дротик
источник