Сложение и вычитание чисел в любой позиционной системе счисления выполняется поразрядно. Для нахождения суммы складываются единицы одного и того же разряда, начиная с единиц первого разряда (справа). Если сумма единиц складываемого разряда превышает число, равное основанию системы, то из этой суммы выделяется единица старшего разряда, которая и добавляется к соседнему разряду слева. Поэтому сложение можно производить непосредственно, как и в десятичной системе, в "столбик", используя таблицу сложения однозначных чисел.
Например, в системе счисления с основанием 4 таблица сложения имеет такой вид:
Еще проще таблица сложения в двоичной системе счисления:
0 + 0 = 0 | 0 + 1 = 1 | 1 + 1 = 10. |
Пример: |
Вычитание выполняем так же, как и в десятичной системе: подписываем вычитаемое под уменьшаемым и производим вычитание чисел в разрядах, начиная с первого. Если вычитание единиц в разряде невозможно, "занимаем" единицу в высшем разряде и преобразуем ее в единицы соседнего правого разряда.
Пример: 2311 4 - 1223 4 .
|
Примеры перевода чисел в различные системы счисления
Пример №1
Переведем число 12 из десятичной в двоичную систему счисления
Решение
Переведем число 12 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
12 | : | 2 | = | 6 | остаток: 0 |
6 | : | 2 | = | 3 | остаток: 0 |
3 | : | 2 | = | 1 | остаток: 1 |
1 | : | 2 | = | 0 | остаток: 1 |
12 10 = 1100 2
Пример №2
Переведем число 12.3 из десятичной в двоичную систему счисления
12.3 10 = 1100.010011001100110011001100110011 2
РешениеПереведем целую часть 12 числа 12.3 10 в 2-ичную систему счисления, при помощи последовательного деления на 2, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
12 | : | 2 | = | 6 | остаток: 0 |
6 | : | 2 | = | 3 | остаток: 0 |
3 | : | 2 | = | 1 | остаток: 1 |
1 | : | 2 | = | 0 | остаток: 1 |
12 10 = 1100 2
Переведем дробную часть 0.3 числа 12.3 10 в 2-ичную систему счисления, при помощи последовательного умножения на 2, до тех пор, пока в дробной части произведения не получиться ноль или не будет достигнуто необходимое количество знаков после запятой. Если в результате умножения целая часть не равна нулю, тогда необходимо заменить значение целой части на ноль. В результате будет получено число из целых частей произведений, записанное слева направо.
0.3 | · | 2 | = | 0 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.2 | · | 2 | = | 0 .4 |
0.4 | · | 2 | = | 0 .8 |
0.8 | · | 2 | = | 1 .6 |
0.6 | · | 2 | = | 1 .2 |
0.3 10 = 0.010011001100110011001100110011 2
12.3 10 = 1100.010011001100110011001100110011 2
Пример №3
Переведем число 10011 из двоичной системы в десятичную систему счисления
Решение
Переведем число 10011 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 10011 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
10011 2 = 1 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 19 10
Пример №4
Переведем число 11.101 из двоичной системы в десятичную систему счисления
11.101 2 = 3.625 10
РешениеПереведем число 11.101 2 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 11.101 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
11.101 2 = 1 ⋅ 2 1 + 1 ⋅ 2 0 + 1 ⋅ 2 -1 + 0 ⋅ 2 -2 + 1 ⋅ 2 -3 = 3.625 10
Пример №5
Переведем число 1583 из десятичной системы в шестнадцатеричную систему счисления
1583 10 = 62F 16
РешениеПереведем число 1583 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
1583 | : | 16 | = | 98 | остаток: 15, 15 = F |
98 | : | 16 | = | 6 | остаток: 2 |
6 | : | 16 | = | 0 | остаток: 6 |
1583 10 = 62F 16
Пример №6
Переведем число 1583.56 из десятичной системы в шестнадцатеричную систему счисления
1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16
РешениеПереведем целую часть 1583 числа 1583.56 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
1583 | : | 16 | = | 98 | остаток: 15, 15 = F |
98 | : | 16 | = | 6 | остаток: 2 |
6 | : | 16 | = | 0 | остаток: 6 |
1583 10 = 62F 16
Переведем дробную часть 0.56 числа 1583.56 10 в 16-ичную систему счисления, при помощи последовательного умножения на 16, до тех пор, пока в дробной части произведения не получиться ноль или не будет достигнуто необходимое количество знаков после запятой. Если в результате умножения целая часть не равна нулю, тогда необходимо заменить значение целой части на ноль. В результате будет получено число из целых частей произведений, записанное слева направо.
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 | · | 16 | = | 8 .96 |
0.96 | · | 16 | = | 15 .36, 15 = F |
0.36 | · | 16 | = | 5 .76 |
0.76 | · | 16 | = | 12 .16, 12 = C |
0.16 | · | 16 | = | 2 .56 |
0.56 10 = 0.8F5C28F5C28F5C28F5C28F5C28F5C2 16
1583.56 10 = 62F.8F5C28F5C28F5C28F5C28F5C28F5C2 16
Пример №7
Переведем число A12DCF из шестнадцатеричной системы в десятичную систему счисления
A12DCF 16 = 10563023 10
РешениеПереведем число A12DCF 16 в десятичную систему счисления, для этого сначала запишем позицию каждой цифры в числе с права налево, начиная с нуля
Каждая позиция цифры будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число A12DCF 16 на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
2
Каждая позиция цифры будет степенью числа 16, так как система счисления 16-ичная. Необходимо последовательно умножить каждое число A12DCF.12A 16 на 16 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
A 16 = 10 10
D 16 = 13 10
C 16 = 12 10
F 16 = 15 10
A12DCF.12A 16 = 10 ⋅ 16 5 + 1 ⋅ 16 4 + 2 ⋅ 16 3 + 13 ⋅ 16 2 + 12 ⋅ 16 1 + 15 ⋅ 16 0 + 1 ⋅ 16 -1
Каждая позиция цифры будет степенью числа 2, так как система счисления 2-ичная. Необходимо последовательно умножить каждое число 1010100011 2 на 2 в степени соответствующей позиции числа и затем сложить с последующим произведением следующего числа в степени соответствующей его позиции.
1010100011 2 = 1 ⋅ 2 9 + 0 ⋅ 2 8 + 1 ⋅ 2 7 + 0 ⋅ 2 6 + 1 ⋅ 2 5 + 0 ⋅ 2 4 + 0 ⋅ 2 3 + 0 ⋅ 2 2 + 1 ⋅ 2 1 + 1 ⋅ 2 0 = 675 10
Переведем число 675 10 в 16-ичную систему счисления, при помощи последовательного деления на 16, до тех пор, пока неполное частное не будет равно нулю. В результате будет получено число из остатков деления записанное справа налево.
675 | : | 16 | = | 42 | остаток: 3 |
42 | : | 16 | = | 2 | остаток: 10, 10 = A |
2 | : | 16 | = | 0 | остаток: 2 |
675 10 = 2A3 16
Арифметические операции в двоичной системе счисления
Правила выполнения арифметических действий над двоичными числами задаются таблицами сложения, вычитания и умножения.
Правило выполнения операции сложения одинаково для всех систем счисления: если сумма складываемых цифр больше или равна основанию системы счисления, то единица переносится в следующий слева разряд. При вычитании, если необходимо, делают заем.
Аналогично выполняются арифметические действия в восьмеричной, шестнадцатеричной и других системах счисления. При этом необходимо учитывать, что величина переноса в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления.
Арифметические операции в восьмеричной системе счисления
Для представления чисел в восьмеричной системе счисления используются восемь цифр(0, 1, 2, 3, 4, 5, 6, 7), так как основа восьмеричной системы счисления равна8. Все операции производятся посредством этих восьми цифр. Операции сложения и умножения в восьмеричной системе счисления производятся с помощью следующих таблиц:
Таблицы сложения и умножения в восьмеричной системе счисления
Пример 5 .Вычесть восьмеричные числа 5153- 1671и2426,63- 1706,71 |
Пример 6 .Умножить восьмеричные числа51 16и16,6 3,2 |
Арифметические операции в шестнадцатеричной системе счисления
Для представления чисел в шестнадцатеричной системе счисления используются шестнадцать цифр:0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. В шестнадцатеричной системе числошестнадцатьпишется как10. Выполнение арифметических операций в шестнадцатеричной системе производится как и в десятиричной системе, но при выполнении арифметических операций над большими числами необходимо использовать таблицы сложения и умножения чисел в шестнадцатеричной системе счисления.
Таблица сложения в шестнадцатеричной системе счисления
Таблица умножения в шестнадцатеричной системе счисления
Пример 7 .Сложить шестнадцатеричные числа |
Вместе с этим калькулятором также используют следующие:
Перевод чисел в двоичную, шестнадцатеричную, десятичную, восьмеричную системы счисления
Умножение двоичных чисел
Формат представления чисел с плавающей запятой
Пример №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.
Таблица истинности
Вычисление пределов
Арифметика в двоичной системе счисления
Арифметические действия в двоичной системе выполняются так же, как и в десятичной. Но, если в десятичной системе счисления перенос и заём осуществляется по десять единиц, то в двоичной - по две единицы. В таблице представлены правила сложения и вычитания в двоичной системе счисления.- При сложении в двоичной системе системе счисления двух единиц в данном разряде будет 0 и появится перенос единицы в старший разряд.
- При вычитании из нуля единицы производится заём единицы из старшего разряда, где есть 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
При сложении чисел с плавающей точкой выравнивание порядков выполняют в сторону большего порядка:
Алгоритм сложения чисел с плавающей точкой:
- Выравнивание порядков;
- Сложение мантисс в дополнительном модифицированном коде;
- Нормализация результата.
Пример №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 . Записать десятичное число в двоично-десятичной системе счисления и сложить два числа в двоичной системе счисления.