Инструкция
1
Двоичные числа стали почти такой же привычной системой, как и десятичные. Младшие школьники учатся оперировать ими, а также осуществлять перевод между системами. Двоичная арифметика включает в себя те же действия, что и всякая другая: сложение, вычитание, умножение и деление.
2
Вычитать двоичные числа несколько сложнее, чем складывать, однако для этой цели есть два метода, один из которых как раз приводит поставленную задачу к операции сложения путем преобразований над вычитаемым числом. Это волшебное преобразование называется дополнительным кодом.
3
Определить его можно по следующему алгоритму: сначала значения всех позиций вычитаемого числа меняются на противоположные: нули на единицы и единицы на нули. Затем к получившемуся промежуточному результату прибавляется двоичная единица, т.е. число, которое увеличивает его младший разряд на 1.
4
Рассмотрите пример: требуется найти разность 10010 – 1001. Второе число равно 1001, для него и нужно найти дополнительный код. Замените 1 на 0 и 0 на 1 → 0110. Теперь прибавьте к результату число 0001. Младший разряд равен 0, следовательно, его сложение с единицей даст 1 → 0111.
5
Сложите числа 10010 и 0111. Выполняйте это действие последовательно для каждого разряда, начиная с правого конца:1+0 =1; 1+1=0 (1 «в уме»);0+1=1+1(см. пред.)=0 (1 «в уме»);0+0=0+1=1;1=1.
6
Запишите полученную сумму: 10010+0111=11001. Выполните завершающий этап метода, а именно, отбросьте единицу, стоящую в старшей позиции 11001 → 1001. Это число и является разностью заданных чисел.
7
Другой метод предполагает обычное поразрядное вычитание, аналогичное действию над десятичными числами. Если для получения разности не хватает единицы, она занимается в старшем разряде и превращается в 2, именно столько составляет один разряд двоичного числа.
8
Сделайте тот же пример новым способом:10010 – 1001:0-1= [занимаем 1, во втором разряде остается 0] = 2-1=1;0-0=0;0-0=0;0-1=2-1=11 из старшего разряда перешло в предыдущее действие в качестве 2.Ответ: 10010-1001 = 1001.