Nic писал(а):
Схема: code_32020.txt
Пакет CNET. Hiasm v4.04 билд 185. OS Windows 7 Ultimate 64 bit.
После нажатия кнопки, элемент math выполняет операцию сдвига на 16 вправо числа -72774496, полученный результат выдает в text box.
Желаемый результат этой операции число 64425, а реальный -1111. 64425 потому что это число получается при чтении памяти в программе и я сам проделывал операцию сдвига в калькуляторе windows и потому, что программа выдает верный конечный результат только с этим значением.
На калькулятор я в данном случае мало рассчитываю т.к. сдвиги бывают разные, хотя он выдает нужное значение. Хотя, сдвиг вправо на 16 это то же самое что разделить на 2 в 16 степени тогда результат калькулятора -1110. Что делать, как жить?
upd: я понял почему так, я заполнял пространство нолями, а в действительности оно заполняется знаковым битом, то есть единицей, как получить без знаковый сдвиг? Я так пологаю нужно для 16 - 32 битов произвести, инверсию битов, или логическую операцию and 65535?
------------ Дoбавленo в 21.50:
foksov писал(а):
у нас всё бесплатно, но только после соответствующего обращения, неприказногоПросто Вы - программисты, чересчур щепетильный народ, можно и не придираться к мелочам. Хотя я пологаю дело в возрасте, лично мне даже неудобно писать в таком стиле.