В данный момент я изучаю язык ассемблера высокого уровня и изучаю концепцию целых чисел со знаком и без знака.Это кажется достаточно простым, однако получение знака расширения смутило меня.
Возьмите байт 10011010, который я бы взял 154 в десятичном виде.Действительно, использование бинарного калькулятора с чем-то большим, чем выбранное слово, показывает это как 154. Десятичное число.
Однако, если я выберу единицу измерения как байт и введу 10011010, то вдруг он будет обработан как -102 вдесятичный.Всякий раз, когда я увеличиваю его, начиная с байта, он расширяется до знака и всегда будет -102 в десятичном виде.
Если я использую что-либо большее, чем байт, тогда оно остается 154 в десятичном виде.
МожетКто-нибудь, пожалуйста, объясните это кажущееся неравенство?