Назначение сервиса . Онлайн-калькулятор предназначен для сложения двоичных чисел в прямом, обратном и дополнительном кодах.

Вместе с этим калькулятором также используют следующие:
Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления
Умножение двоичных чисел
Формат представления чисел с плавающей запятой
Пример №1 . Представить число 133,54 в форме числа с плавающей точкой.
Решение . Представим число 133.54 в нормализованном экспоненциальном виде:
1.3354*10 2 = 1.3354*exp 10 2
Число 1.3354*exp 10 2 состоит из двух частей: мантиссы M=1.3354 и экспоненты exp 10 =2
Если мантисса находится в диапазоне 1 ≤ M Представление числа в денормализованном экспоненциальном виде .
Если мантисса находится в диапазоне 0,1 ≤ M Представим число в денормализованном экспоненциальном виде: 0.13354*exp 10 3

Пример №2 . Представить двоичное число 101.10 2 в нормализованном виде, записать в 32-битом стандарте IEEE754.
Таблица истинности


Вычисление пределов

Арифметика в двоичной системе счисления

Арифметические действия в двоичной системе выполняются так же, как и в десятичной. Но, если в десятичной системе счисления перенос и заём осуществляется по десять единиц, то в двоичной - по две единицы. В таблице представлены правила сложения и вычитания в двоичной системе счисления.
  1. При сложении в двоичной системе системе счисления двух единиц в данном разряде будет 0 и появится перенос единицы в старший разряд.
  2. При вычитании из нуля единицы производится заём единицы из старшего разряда, где есть 1 . Единица, занятая в этом разряде, даёт две единицы в разряде, где вычисляется действие, а также по единице, во всех промежуточных разрядах.

Сложение чисел с учетом их знаков на машине представляет собой последовательность следующих действий:

  • преобразование исходных чисел в указанный код;
  • поразрядное сложение кодов;
  • анализ полученного результата.
При выполнении операции в обратном (модифицированном обратном) коде если в результате сложения в знаковом разряде возникает единица переноса, она прибавляется к младшему разряду суммы.
При выполнении операции в дополнительном (модифицированном дополнительном) коде если в результате сложения в знаковом разряде возникает единица переноса, она отбрасывается.
Операция вычитания в ЭВМ выполняется через сложение по правилу: Х-У=Х+(-У). Дальнейшие действия выполняются также как и для операции сложения.

Пример №1 .
Дано: х=0,110001; y= -0,001001, сложить в обратном модифицированном коде.

Дано: х=0,101001; y= -0,001101, сложить в дополнительном модифицированном коде.

Пример №2 . Решить примеры на вычитание двоичных чисел, используя метод дополнения до 1 и циклического переноса.
а) 11 - 10.
Решение .
Представим числа 11 2 и -10 2 в обратном коде.

Двоичное число 0000011 имеет обратный код 0,0000011

Сложим числа 00000011 и 11111101

7 6 5 4 3 2 1 0
1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0

7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0

В 2-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 3-й разряд.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0

7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0

7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

В итоге получаем:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 0 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 0 0 0

Возник перенос из знакового разряда. Добавим его (т.е. 1) к полученному числу (тем самым осуществляя процедуру циклического переноса).
В итоге получаем:
7 6 5 4 3 2 1 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 1

Результат сложения: 00000001. Переведем в десятичное представление . Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
00000001 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *0 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 0 + 0 + 1 = 1
Результат сложения (в десятичном представлении): 1

б) 111-010 Представим числа 111 2 и -010 2 в обратном коде.
Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа заменяются на противоположные (1 на 0, 0 на 1), а в знаковый разряд заносится единица.
Двоичное число 0000111 имеет обратный код 0,0000111
Двоичное число 0000010 имеет обратный код 1,1111101
Сложим числа 00000111 и 11111101
В 0-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 1-й разряд.

7 6 5 4 3 2 1 0
1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0

В 1-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 2-й разряд.
7 6 5 4 3 2 1 0
1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0

В 2-ом разряде возникло переполнение (1 + 1 + 1 = 11). Поэтому записываем 1, а 1 переносим на 3-й разряд.
7 6 5 4 3 2 1 0
1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
1 0 0

В 3-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 4-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 1 0 0

В 4-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 5-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 1 0 0

В 5-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 6-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 1 0 0

В 6-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 7-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 1 0 0

В 7-ом разряде возникло переполнение (1 + 1 = 10). Поэтому записываем 0, а 1 переносим на 8-й разряд.
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

В итоге получаем:
7 6 5 4 3 2 1 0
1 1 1 1 1 1 1
0 0 0 0 0 1 1 1
1 1 1 1 1 1 0 1
0 0 0 0 0 1 0 0

Возник перенос из знакового разряда. Добавим его (т.е. 1) к полученному числу (тем самым осуществляя процедуру циклического переноса).
В итоге получаем:
7 6 5 4 3 2 1 0
0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 1
0 0 0 0 0 1 0 1

Результат сложения: 00000101
Получили число 00000101. Для перевода целой части необходимо умножить разряд числа на соответствующую ему степень разряда.
00000101 = 2 7 *0 + 2 6 *0 + 2 5 *0 + 2 4 *0 + 2 3 *0 + 2 2 *1 + 2 1 *0 + 2 0 *1 = 0 + 0 + 0 + 0 + 0 + 4 + 0 + 1 = 5
Результат сложения (в десятичном представлении): 5

Сложение двоичных вещественных чисел с плавающей запятой

В компьютере любое число может быть представлено в формате с плавающей точкой. Формат с плавающей точкой показан на рисунке:


Например, число 10101 в формате с плавающей точкой можно записать так:


В компьютерах используется нормализованная форма записи числа, в которой положение запятой всегда задается перед значащей цифрой мантиссы, т.е. выполняется условие:
b -1 ≤|M|Нормализованное число - это число, у которого после запятой идет значащая цифра (т.е. 1 в двоичной системе счисления). Пример нормализации:
0,00101*2 100 =0,101*2 10
111,1001*2 10 =0,111001*2 101
0,01101*2 -11 =0,1101*2 -100
11,1011*2 -101 =0,11011*2 -11

При сложении чисел с плавающей точкой выравнивание порядков выполняют в сторону большего порядка:

Алгоритм сложения чисел с плавающей точкой:

  1. Выравнивание порядков;
  2. Сложение мантисс в дополнительном модифицированном коде;
  3. Нормализация результата.

Пример №4 .
A=0,1011*2 10 , B=0,0001*2 11
1. Выравнивание порядков;
A=0,01011*2 11 , B=0,0001*2 11
2. Сложение мантисс в дополнительном модифицированном коде;
MA доп.мод. =00,01011
MB доп.мод. =00,0001
00,01011
+ 00,00010
=
00,01101
A+B=0,01101*2 11
3. Нормализация результата.
A+B=0,1101*2 10

Пример №3 . Записать десятичное число в двоично-десятичной системе счисления и сложить два числа в двоичной системе счисления.

Как мы складываем в десятичной системе счисления?

Давайте вспомним о том, как мы складываем числа уже привычным нам способом, в десятичной .

Самое главное стоит понять разряды. Вспомните алфавит каждой СС и тогда вам станет легче.

Сложение в двоичной системе ничем не отличается от сложения в десятичной системе. Главное помнить, алфавит содержит всего две цифры: 0 и 1. Поэтому когда мы складываем 1 + 1, то получаем 0, и увеличиваем число еще на 1 разряд. Посмотрите на пример выше:

  1. Начинаем складывать как и привыкли справа налево. 0 + 0 = 0, значит записываем 0. Переходим к следующему разряду.
  2. Складываем 1 + 1 и получаем 2, но 2 нет в двоичной системе счисления, а значит мы записываем 0, а 1 добавляем к следующему разряду.
  3. У нас получается в этом разряде три единицы складываем 1 + 1 + 1 = 3, этой цифры также быть не может. Значит 3 – 2 = 1. И 1 добавляем к следующему разряду.
  4. У нас вновь получается 1 + 1 = 2. Мы уже знаем, что 2 быть не может, значит записываем 0, а 1 добавляем к следующему разряду.
  5. Складывать больше нечего, значит в ответе получаем: 10100.

Один пример мы разобрали, второй решите самостоятельно:

Так же как и в любых других системах счисления необходимо помнить Алфавит. Давайте попробуем сложить выражение.

  1. Все как обычно, начинаем складывать справа налево. 4 + 3 = 7.
  2. 5 + 4 = 9. Девяти быть не может, значит из 9 вычитаем 8, получаем 1. И еще 1 добавляем к следующему разряду.
  3. 3 + 7 + 1 = 11. Из 11 вычитаем 8, получаем 3. И единицу добавляем к следующему разряду.
  4. 6 + 1 = 7.
  5. Складывать далее нечего. Ответ: 7317.

А теперь проделайте сложение самостоятельно:

  1. Выполняем уже знакомые нам действия и не забываем про алфавит. 2 + 1 = 3.
  2. 5 + 9 = 14. Вспоминаем Алфавит: 14 = Е.
  3. С = 12. 12 + 8 = 20. Двадцати нет в шестнадцатеричной системе счисления. Значит из 20 вычитаем 16 и получаем 4. И единицу добавляем к следующему разряду.
  4. 1 + 1 = 2.
  5. Больше складывать нечего. Ответ: 24Е3.

Вычетание в системах счисления

Вспомним, как мы это делаем в десятичной системе счисления.

  1. Начинаем слева направо, от меньшего разряда к большему. 2 – 1 = 1.
  2. 1 – 0 = 1.
  3. 3 – 9 = ? Тройка меньше девяти, поэтому позаимствуем единицу из старшего разряда. 13 – 9 = 4.
  4. Из последнего разряда мы взяли единицу для предыдущего действия, поэтому 4 – 1 = 3.
  5. Ответ: 3411.

  1. Начинаем как обычно. 1 – 1 = 0.
  2. 1 – 0 = 1.
  3. От 0 отнять единицу нельзя. Поэтому заберем один разряд у старшего. 2 – 1 = 1.
  4. Ответ: 110.

А теперь решите самостоятельно:

  1. Ничего нового, главное помнить алфавит. 4 – 3 = 1.
  2. 5 – 0 = 5.
  3. От 3 отнять 7 мы сразу не можем, для этого нам необходимо заимствовать единицу у более старшего разряда. 11 – 7 = 4.
  4. Помним, что заимствовали единицу ранее, 6 – 1 = 5.
  5. Ответ: 5451.

Возьмем предыдущий пример, и посмотрим каков будет результат в шестнадцатеричной системе. Такой же или другой?

  1. 4 – 3 = 1.
  2. 5 – 0 = 5.
  3. От 3 отнять 7 мы сразу не можем, для этого нам необходимо заимствовать единицу у более старшего разряда. 19 – 7 = 12. В шестнадцатеричной системе 12 = С.
  4. Помним, что заимствовали единицу ранее, 6 – 1 = 5
  5. Ответ: 5С51

Пример для самостоятельного решения:

Умножение в системах счисления

Давайте запомним раз и навсегда, что умножение в любой системе счисления на единицу, всегда даст тоже самое число.

  1. Каждый разряд умножаем на единицу, как обычно справа налево, и получаем число 6748;
  2. 6748 умножаем на 8 и получаем число 53984;
  3. Проделываем операцию умножения 6748 на 3. Получаем число 20244;
  4. Складываем все 3 числа, по правилам. Получаем 2570988;
  5. Ответ: 2570988.

В двоичной системе умножать очень легко. Мы всегда умножаем либо на 0, либо на единицу. Главное, это внимательно складывать. Давайте попробуем.

  1. 1101 умножаем на единицу, как обычно справа налево, и получаем число 1101;
  2. Проделываем эту операцию еще 2 раза;
  3. Складываем все 3 числа внимательно, помним про алфавит, не забывая про лесенку;
  4. Ответ: 1011011.

Пример для самостоятельного решения:

  1. 5 х 4 = 20. А 20 = 2 х 8 + 4. Остаток от деления записываем в число – это будет 4, а 2 держим в уме. Проделываем эту процедуру справа налево и получаем число 40234;
  2. При умножении на 0, получаем четыре 0;
  3. При умножении на 7, у нас получается число 55164;
  4. Теперь складываем числа и получаем – 5556634;
  5. Ответ: 5556634.

Пример для самостоятельного решения:

Все как обычно, главное вспомните алфавит. Буквенные цифры, для удобства переводите в привычную для себя систему счисления, как умножите, переводите обратно в буквенное значение.

Давайте для наглядности разберем умножение на 5 числа 20А4.

  1. 5 х 4 = 20. А 20 = 16 + 4. Остаток от деления записываем в число – это будет 4, а 1 держим в уме.
  2. А х 5 + 1 = 10 х 5 + 1 = 51. 51 = 16 х 3 + 3. Остаток от деления записываем в число – это будет 3, а 3 держим в уме.
  3. При умножении на 0, получаем 0 + 3 = 3;
  4. 2 х 5 = 10 = А; В итоге у нас получается А334; Проделываем эту процедуру с двумя другими числами;
  5. Помним правило умножения на 1;
  6. При умножении на В, у нас получается число 1670С;
  7. Теперь складываем числа и получаем – 169В974;
  8. Ответ: 169В974.

Пример для самостоятельного решения.

Рассмотрим основные арифметические операции: сложение, вычитание, умножение и деление. Правила выполнения этих операций в десятичной системе хорошо известны - это сложение, вычитание, умножение столбиком и деление углом. Эти правила применимы и ко всем другим позиционным системам счисления. Только надо пользоваться особыми таблицами сложения и умножения для каждой системы.

1. Сложение

Таблицы сложения легко составить, используя правила счета.

При сложении цифры суммируются по разрядам, и если при этом возникает избыток, то он переносится влево.

Пример 1. Сложим числа 15 и 6 в различных системах счисления .

Пример 2. Сложим числа 15, 7 и 3.

Шестнадцатеричная : F 16 +7 16 +3 16

15+7+3 = 25 10 = 11001 2 = 31 8 = 19 16 .

Проверка:

11001 2 = 2 4 + 2 3 + 2 0 = 16+8+1=25,

31 8 = 3 . 8 1 + 1 . 8 0 = 24 + 1 = 25,

19 16 = 1 . 16 1 + 9 . 16 0 = 16+9 = 25.

Пример 3. Сложим числа 141,5 и 59,75 .

Ответ: 141,5 + 59,75 = 201,25 10 = 11001001,01 2 = 311,2 8 = C9,4 16

Проверка. Преобразуем полученные суммы к десятичному виду :

11001001,01 2 = 2 7 + 2 6 + 2 3 + 2 0 + 2 -2 = 201,25

311,2 8 = 3 . 8 2 + 1 . 8 1 + 1 . 8 0 + 2 . 8 -1 = 201,25

C9,4 16 = 12 . 16 1 + 9 . 16 0 + 4 . 16 -1 = 201,25

2. Вычитание

Вычитание в двоичной системе счисления

уменьшаемое

вычитаемое

0

1

0

1

заем

Вычитание в шестнадцатеричной системе счисления

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

Заем единицы из старшего разряда

Вычитание в восьмеричной системе счисления

0

1

2

3

4

5

6

7

0

1

2

3

4

5

6

7

Заем единицы из старшего разряда

Пример 4. Вычтем единицу из чисел 10 2 , 10 8 и 10 16

Пример 5. Вычтем единицу из чисел 100 2 , 100 8 и 100 16 .

Пример 6. Вычтем число 59,75 из числа 201,25.

Ответ: 201,25 10 - 59,75 10 = 141,5 10 = 10001101,1 2 = 215,4 8 = 8D,8 16 .

Проверка. Преобразуем полученные разности к десятичному виду:

10001101,1 2 = 2 7 + 2 3 + 2 2 + 2 0 + 2 -1 = 141,5;

215,4 8 = 2 . 8 2 + 1 . 8 1 + 5 . 8 0 + 4 . 8 -1 = 141,5;

8D,8 16 = 8 . 16 1 + D . 16 0 + 8 . 16 -1 = 141,5.

Сложение и вычитание чисел в любой позиционной системе счисления выполняется поразрядно. Для нахождения суммы складываются единицы одного и того же разряда, начиная с единиц первого разряда (справа). Если сумма единиц складываемого разряда превышает число, равное основанию системы, то из этой суммы выделяется единица старшего разряда, которая и добавляется к соседнему разряду слева. Поэтому сложение можно производить непосредственно, как и в десятичной системе, в "столбик", используя таблицу сложения однозначных чисел.

Например, в системе счисления с основанием 4 таблица сложения имеет такой вид:

Еще проще таблица сложения в двоичной системе счисления:

0 + 0 = 0 0 + 1 = 1 1 + 1 = 10.

Пример:

Вычитание выполняем так же, как и в десятичной системе: подписываем вычитаемое под уменьшаемым и производим вычитание чисел в разрядах, начиная с первого. Если вычитание единиц в разряде невозможно, "занимаем" единицу в высшем разряде и преобразуем ее в единицы соседнего правого разряда.

Пример: 2311 4 - 1223 4 .

  1. В первом разряде от 1 нельзя отнять 3, "занимаем" единицу второго разряда, она содержит четыре единицы первого разряда. К ним добавляем имеющуюся единицу первого разряда, всего получим пять единиц в первом разряде - в четверичной системе они записываются как 11.
  2. Вычитаем в первом разряде из пяти единиц три единицы: 11-3=2.
  3. Во втором разряде единиц не осталось, занимаем в третьем (в третьем останется 2 единицы). Единица третьего разряда содержит 4 единицы второго. Вычитаем во втором разряде: 4-2 = 2.
  4. В третьем разряде: 2-2=0.
  5. В четвертом разряде: 2-1=1.

| Информатика и информационно-коммуникационные технологии | Планирование уроков и материалы к урокам | 10 классы | Планирование уроков на учебный год (ФГОС) | Арифметические операции в позиционных системах счисления

Урок 15
§12. Арифметические операции в позиционных системах счисления

Арифметические операции в позиционных системах счисления

Арифметические операции в позиционных системах счисления с основанием q выполняются по правилам, аналогичным правилам, действующим в десятичной системе счисления.

В начальной школе для обучения детей счёту используют таблицы сложения и умножения. Подобные таблицы можно составить для любой позиционной системы счисления.

12.1. Сложение чисел в системе счисления с основанием q

Рассмотрите примеры таблиц сложения в троичной (табл. 3.2), восьмеричной (табл. 3.4) и шестнадцатеричной (табл. 3.3) системах счисления.

Таблица 3.2

Сложение в троичной системе счисления

Таблица 3.3

Сложение в шестнадцатеричной системе счисления

Таблица 3.4

Сложение в восьмеричной системе счисления

q получить сумму S двух чисел А и Б , надо просуммировать образующие их цифры по разрядам i справа налево:

Если a i + b i < q, то s i = a i + b i , старший (i + 1)-й разряд не изменяется;
если a i + b i ≥ q, то s i = а i + b i - q, старший (i + 1)-й разряд увеличивается на 1.

Примеры:

12.2. Вычитание чисел в системе счисления с основанием q

Чтобы в системе счисления с основанием q получить разность R двух чисел А и В , надо вычислить разности образующих их цифр по разрядам i справа налево:

Если a i ≥ b i , то r i = a i - b i , старший (i + 1)-й разряд не изменяется;
если a i < b i , то r i = a i - b i + g, старший (i + 1)-й разряд уменьшается на 1 (выполняется заём в старшем разряде).


Close