4.1 Представление двоичных чисел и перевод их в десятичные
Совершенно очевидно, что двоичное число представляется последовательностью нулей и единиц – разрядов. Как и в любой позиционной системе, каждому разряду присвоен определенный вес – показатель степени основания системы. Веса первых 10 позиций представлены в таблице 4.1.
Таблица 4.1 Веса первых десяти позиций двоичной системы счисления
Позиция | ||||||||||
Вес | ||||||||||
Образование | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
В двоичной системе счисления даже сравнительно небольшие числа занимают много позиций.
Как и в десятичной системе, в двоичной системе счисления для отделения дробной части используется точка (двоичная точка). Каждая позиция слева от этой точки также имеет свой вес – вес разряда дробной части числа. Значение веса в этом случае равно основанию системы счисления (т.е. двойке), возведенному в отрицательную степень.
Получить десятичное число из двоичного чрезвычайно просто. Согласно формуле 2.3 для двоичной системы счисления получаем:
Алгоритм перевода двоичных чисел в десятичные достаточно прост (его иногда называют алгоритмом замещения):
Для перевода двоичного числа в десятичное необходимо это число представить в виде суммы произведений степеней основания двоичной системы счисления на соответствующие цифры в разрядах двоичного числа.
Пример 4.1 перевод двоичного числа в десятичное.
1) 10110012 = 1·26+0·25+1·24+1·23+0·22+0·21+1·20 =64+16+8+1 = 8910
2) 101011,12 = 1·25+0·24+1·23+0·22+1·21+1·20+1·2-1 = 32+8+2+1+0,5 = 43,510
3) 110111102=1·27+1·26+0·25+1·24+1·23+1·22+1·21+0·20=
128+64+0+16+8+4+2+0=22210
Преобразование десятичных чисел в двоичные
Перевод из двоичной системы в десятичную несколько сложнее. Рассмотрим несколько алгоритмов.
Метод вычитания
Из десятичного числа вычитаются наибольшая возможная степень двойки, в соответствующий разряд двоичного числа записывается единица, если разность меньше следующей степени двойки, то далее записывается нуль, а если больше записывается единица и опять производится вычитание, и так до тех пор, пока исходное число не уменьшится до нуля. В примере 4.2 рассматривается перевод десятичного числа.
3)_2710=110112 16=24 _11 8=23 _3 2=21 _1 1=20 |
2)_149,510=10010101,12 128=27 _21,5 16=22 _5,5 4=22 _1,5 1=20 _0,5 0,5=2-1 |
1) _ 4210 =1010102
32=25
_10
8=23
_2
2=21
Метод деления
Другим методом является так называемый метод деления. Он применяется для преобразования целых чисел. Ниже приведен его алгоритм.
Разделим нацело десятичное число на двойку. Если есть остаток, запишем в младший разряд единицу, а если нет – нуль и снова разделим результат от первого деления. Повторим процедуру так до тех пор, пока окончательный результат не обнулиться.
_123 | ||||||||||
_61 | ||||||||||
_30 | ||||||||||
–15 | ||||||||||
–7 | ||||||||||
| –3 | |||||||||
–1 | ||||||||||
| старший разряд | |||||||||
1) |
2) |
–74 | |||||||||||||||||||||||||||||||||||||||||
–37 | |||||||||||||||||||||||||||||||||||||||||
–18 | |||||||||||||||||||||||||||||||||||||||||
–9 | |||||||||||||||||||||||||||||||||||||||||
–4 | |||||||||||||||||||||||||||||||||||||||||
–2 | |||||||||||||||||||||||||||||||||||||||||
–1 | |||||||||||||||||||||||||||||||||||||||||
100101012=149 | |||||||||||||||||||||||||||||||||||||||||
|
_1 2
|
4.2.3 Метод умножения
И, наконец, метод умножения. Метод применяется для преобразования десятичных дробей (чисел меньших единицы).
Число умножается на 2, если результат больше 1, то в старший разряд записывается единица, если нет, то нуль. Умножаем на 2 дробную часть результата и повторяем процедуру. И так далее до получения нужной степени точности или до обнуления результата.
пример 4.4. перевод десятичного числа в двоичное методом умножения
0,3125·2 = 0,625→ 0 0.625·2 = 125→1 0.25·2 = 0.5→ 0 0.5·2 = 1.0→1 0.0·2 = 0→0 0.312510 = 0.0101 |
