Перевод чисел из одной системы счисления в другую.
A, B, C, D, E, F.
0, 1, 2, 3, 4, 5, 6, 7.
Восьмеричная и 16-ричная система счисления.
Арифметические операции в двоичной системе счисления.
Рассмотрим теперь арифметические действия в двоичной системе счисления. Для их выполнения приведем таблицы сложения и умножения:
Таблица сложения | ||||
1 операнд | ||||
2 операнд | ||||
Результат |
Таблица умножения | ||||
1 операнд | ||||
2 операнд | ||||
Результат |
Хотя в двоичной системе можно выразить любые, сколь угодно большие числа, в компьютере количество разрядов, необходимых для представления чисел, ограничено. Поэтому при выполнении арифметических операций необходимо следить за величиной чисел, участвующих в вычислениях, не допуская переполнения разрядной сетки.
Большинство арифметических операций выполняются в двоичной системе счисления так же, как в 10-тичной.
Примеры арифметических действий.
Сложение:
1 0 0 1 0 0 1 1 | - | ||
+ | |||
0 1 0 1 1 1 1 0 | - | ||
------------------ | ---- | ||
1 1 1 1 0 0 0 1 | - |
Вычитание
1 0 0 1 0 0 1 1 | - | ||
- | |||
0 1 0 1 1 1 1 0 | - | ||
------------------ | ---- | ||
0 0 1 1 0 1 0 1 | - |
Умножение
0 0 0 1 1 0 1 | - | ||
* | |||
0 0 0 0 1 0 1 | - | ||
------------------ | ---- | ||
1 0 0 0 0 0 1 | - |
Большая длина двоичных чисел неудобна для их чтения и названия. Поэтому для того, чтобы удобнее было оперировать с двоичными кодами, используют восьмеричную и шестнадцатеричную системы счисления. Особенность их состоит в том, что основания этих систем кратно двум:
23 = 8;(1.4.a)
24 = 16;(1.4.b)
Восьмеричная система с основанием q = 8 имеет цифры:
16-ричная система с основанием q = 16 имеет цифры:
Как известно, в реальной практике все числовые данные представлены в десятичной системе счисления. Однако компьютерные системы работают в двоичной системе счисления. Поэтому возникает необходимость перевода чисел. Значения чисел при этом не меняются, изменяется только форма представления.
Входные данные из входного потока поступают в десятичном виде, затем переводятся в двоичный вид, в котором и выполняются все вычисления и преобразования данных, результаты затем переводятся в десятичный вид для вывода на печать или монитор.
Рис. 1.1.5.
Восьмеричная и 16-тиричная системы счисления используются для индикации, документирования, программирования и отладки программ, для представления в удобном виде длинных двоичных наборов данных.
Определим правила переводы чисел из одной системы в другую. Для выполнения перевода нам будет нужна следующая таблица:
Таблица 1.1.5.
10-тичное число | 2-ичное число | 8-ричное число | 16-ричное число | 2х |
A | ||||
B | ||||
C | ||||
D | ||||
E | ||||
F | ||||
1) Перевод 2 → 10.
Для перевода необходимо двоичное число представить в виде выражения по степеням основания и вычислить это выражение в десятичной системе счисления. Например:
2) Перевод 10 → 2.
Для перевода необходимо десятичное число циклически делить на основание новой системы (q=2) до тех пор, пока частное не станет равным нулю. Остатки, полученные в операциях деления, начиная с последнего, представляют собой изображение двоичного числа. Например:
147 | 2
146 73 | 2
1 72 36 | 2
1 36 18 | 2
0 18 9 | 2
0 8 4 | 2
1 4 2 | 2
0 2 1 | 2
0 0 0
= 100100112
3) Перевод 8 → 10.
Для перевода необходимо восьмеричное число представить в виде выражения по степеням основания q=8 и вычислить это выражение в десятичной системе счисления. Например:
4) Перевод 10 → 8.
Для перевода необходимо десятичное число циклически делить на основание новой системы (q=8) до тех пор, пока частное не станет равным нулю. Остатки, полученные в операциях деления, начиная с последнего, представляют собой изображение двоичного числа. Например:
147 | 8
144 18 | 8
3 16 2 | 8
2 0 0
= 2238
5) Перевод 2 → 8.
Пользуясь свойством (1.4.a), для перевода необходимо двоичное число разделить условно на триады (по три разряда), начиная с младшего разряда, а затем каждую триаду представить в виде восьмеричной цифры из таблицы 1.5.1. Например:
10.011.101.110.0012 = 235618
6) Перевод 8 → 2.
Пользуясь свойством (1.4.a), для перевода необходимо каждую цифру восьмеричного числа представить в виде соответствующей триады двоичного числа из табл. 1.5.1.
Например:
274538 = 10.111.100.101.011
7) Перевод 16 → 2 и 2 → 16.
Пользуясь свойством (1.4.b), перевод выполняется аналогично 5) и 6), но 16-тиричное число в этом случае должно быть представлено в виде соответствующей тетрады двоичного числа, взятой из табл. 1.1.5. Например:
2FC8E16 = 10.1111.1100.1000.11102