при N > 0, [N]обр = 0, a1,a2,a3, … , am;
при N < 0, [N]обр = 1,a1,a2,a3, …, am;
при N= 0 имеет место неоднозначность [0]обр = 0,00 ... 0 = 1,11...1.
Для того чтобы получить обратный код отрицательного числа, необходимо все цифры этого числа инвертировать, т. е. в знаковом разряде поставить 1, во всех значащих разрядах нули заменить единицами, а единицы — нулями.
Например:
для N =1011, [N]обр = 0,1011;
для N = -1011, [N]обр = 1,0100.
Дополнительный код числа N обозначим [N]mTl.
Пусть, как и выше, обозначает N=a1,a2,a3, …,am и a величину, обратную а (инверсию а), т. е. если а = 1, то ã=0, и наоборот. Тогда
при N ≥ 0, [N] доп = 0, a1, a2, a3, …, am;
при N ≤ 0, [N] доп = 1, ã1, ã2, ã3, …, ãm+0,00…1.
Для того чтобы получить дополнительный код отрицательного числа, необходимо все его цифры инвертировать (в знаковом разряде поставить единицу, во всех значащих разрядах нули заменить единицами, а единицы — нулями) и затем к младшему разряду прибавить единицу. В случае возникновения переноса из первого после запятой разряда в знаковый разряд к числу следует прибавить единицу в младший разряд.
Например:
Для N = 1011, [N] доп = 0,1011;
Достарыңызбен бөлісу: |