
- •Глава 2
- •2.1 Принципы построения систем счисления
- •2.1.1 Непозиционные системы счисления
- •2.1.2 Позиционные системы счисления
- •2.1.3 Специальные системы счисления
- •2.1.4 Выбор системы счисления
- •2.2 Виды позиционных систем счисления
- •Десятичная система счисления.
- •Двоично-десятичная система счисления
- •Восьмеричная и шестнадцатеричная системы счисления.
- •Восьмеричная система счисления
- •2.3 Перевод целых и дробных чисел из одной системы счисления в другую
- •Перевод числа из любой сс в десятичную сс
- •Перевод чисел из десятичной сс в любую другую сс
- •Перевод шестнадцатеричных чисел в десятичную сс.
- •Преобразования чисел, удобных для устных расчетов
- •Переводы чисел из одной системы в другую
- •2.4 Арифметические основы эвм
- •Арифметические операции, выполняемые в позиционных сс
- •Контрольные вопросы
- •2.4.2 Алгебраическое представление двоичных чисел
- •Контрольные вопросы
Двоично-десятичная система счисления
В вычислительных системах часто используют комбинированную систему – двоично-десятичную систему счисления, облегчающую запись больших чисел с применением двоичного кода. Представляя каждую десятичную цифру совокупностью из четырех разрядов (тетрад), можно получить комбинированную систему счисления, которая обладает достоинствами двоичной системы и удобством десятичной. В ЭВМ наибольшее применение нашли системы кодирования 8421, 2421, 8421+3.
Код 8421 называется кодом с естественными весами, здесь цифры 8, 4, 2, 1 —веса двоичных разрядов тетрад (23, 22, 21 и 20). Любая десятичная цифра в этом коде изображается ее эквивалентом в двоичной системе счисления. Этот код нашел наибольшее применение при кодировании десятичных чисел в устройствах ввода — вывода и при построении операционных устройств десятичной арифметики.
В двоично-десятичной системе каждая десятичная цифра представляется двоичным эквивалентом.
Примеры:
Число 197(10) в десятично-двоичной системе имеет вид
1
97(10)
= 0001 1001 0111(2-10)
1 9 7
Число 24(10) представляется как 0010 0100(2-10), а 50610 как 0101 0000 01102-10
Недостатки. Недостатком этой системы является её избыточность для чисел 7 и менее (недоиспользуются многие двоичные разряды). Для устранения этого недостатка в ЭВМ используют восьмеричную систему счисления.
Восьмеричная и шестнадцатеричная системы счисления.
Такие системы счисления относятся к двоично-кодированным системам, когда основание системы счисления представляют целые степени двойки: 23 — для восьмеричной и 24 — для шестнадцатеричной систем счисления. Изображения целых чисел в восьмеричной и шестнадцатеричной системах счисления вместе с их двоичным и десятичными эквивалентами представлены в табл. 2.4 и 2.6
Большим достоинством восьмеричной и шестнадцатеричной систем счисления является:
-возможность более компактно представить запись двоичного числа. Запись одного и того же двоичного числа в восьмеричной в 3 раза, а в шестнадцатеричной системе в 4 раза короче двоичной;
-сравнительно просто осуществляется преобразование чисел из двоичной в восьмеричную и шестнадцатеричную системы и наоборот.
Действительно, так как для восьмеричного числа каждый разряд представляется группой из трех двоичных разрядов (триад), а для шестнадцатеричного — группой из четырех двоичных разрядов (тетрад), то для такого преобразования достаточно объединить двоичные цифры в группы по 3 и 4 бита соответственно, продвигаясь от разделительной запятой вправо и влево. При этом в случае необходимости добавляют нули в начале и в конце числа и каждую такую группу — триаду или тетраду — заменяют эквивалентной восьмеричной или шестнадцатеричной цифрой.
Указанные достоинства восьмеричных и шестнадцатеричных систем счисления определили использование их при составлении программ для более короткой и удобной записи двоичных чисел, команд и специальных двоичных слов, с которыми оперирует ЭВМ. Особенно оказалось удобным использование шестнадцатеричной системы, когда разрядность чисел и команд выбрана кратной байту, при этом каждый двоичный код байта запишется в виде 2-разрядного шестнадцатеричного числа.
Использование шестнадцатеричной системы счисления в ЭВМ общего назначения, как будет видно из дальнейшего изложения, позволяет расширить допустимый диапазон представления нормализованных чисел.
Шестнадцатеричная система счисления.
Наиболее удобной и короткой по записи является шестнадцатеричной СС. Данная СС имеет набор цифр {0, 1, 2, 3,. . ., 9, А, В, С, D, Е, F}, т.е основание системы р = 16. Для изображения чисел в шестнадцатеричной СС требуются 16 цифр. Для обозначения первых десяти цифр используются цифры десятичной СС, а для изображения шести остальных - шесть заглавных (прописных) букв латинского алфавита А, В, С, D, Е, F, хотя можно было бы использовать любые другие шесть знаков.
По формуле (2.2) шестнадцатеричное число можно представить так:
А 16 = an 16n + an-1 16n-1 + an-2 16n-2 + … + a1 161 + a0 160 + a-1 16-1 + a-2 16-2 + … + a-m 16-m |
Примеры.
Целое положительное число F7F8140(16) записывается следующим образом:
F7F8140(16) = F • 166 +7 • 165 + F • 164 +8 • 163 + 1 • 162 +4•161 +0 •160.
Смешанное число А0,5Е(16) имеет вид: А0, 5Е(16) = 10 • 161 + 0 • 160 + 5 •16-1 + 14• 16-2.
Дробное число 0,ABC имеет вид: 0,ABC16 = 10 • 16-1 + 11 • 16-2 + 12 • 16-3.
Шестнадцатеричные цифры и их десятичные эквиваленты даны в табл. 2.4.
Полезно помнить некоторые степени шестнадцати –табл.2.5
Таблица 2.4- Шестнадцатеричные цифры и их эквиваленты |
|
Таблица 2.5 - Степени числа16 |
||||||||||
Основание систем счисления |
|
|||||||||||
10 |
2 |
16 |
10 |
2 |
16 |
16n |
n |
16-n |
||||
0 |
0000 |
0 |
16 |
0001 0000 |
10 |
|
1 |
0 |
1.0 |
|||
1 |
0001 |
1 |
17 |
0001 0001 |
11 |
|
16 |
1 |
0.0625 |
|||
2 |
0010 |
2 |
18 |
0001 0010 |
12 |
|
256 |
2 |
0.00390625 |
|||
3 |
0011 |
3 |
19 |
0001 0011 |
13 |
|
4096 |
3 |
0.000244140625 |
|||
4 |
0100 |
4 |
20 |
0001 0100 |
14 |
|
65536 |
4 |
0.0000152587890625 |
|||
5 |
0101 |
5 |
21 |
0001 0101 |
15 |
|
1048576 |
5 |
0.00000095367431640625 |
|||
6 |
0110 |
6 |
22 |
0001 0110 |
16 |
|
16777216 |
6 |
0,0000000059604644775390625 |
|||
7 |
0111 |
7 |
23 |
0001 0111 |
17 |
|
|
|
|
|||
8 |
1000 |
8 |
24 |
0001 1000 |
18 |
|
|
|
|
|||
9 |
1001 |
9 |
25 |
0001 1001 |
19 |
|
|
|
|
|||
10 |
1010 |
A |
26 |
0001 1010 |
1A |
|
|
|
|
|||
11 |
1011 |
B |
27 |
0001 1011 |
1B |
|
|
|
|
|||
12 |
1100 |
C |
28 |
0001 1100 |
1C |
|
|
|
|
|||
13 |
1101 |
D |
29 |
0001 1101 |
1D |
|
|
|
|
|||
14 |
1110 |
E |
30 |
0001 1110 |
1E |
|
|
|
|
|||
15 |
1111 |
F |
31 |
0001 1111 |
1F |
|
|
|
|
Преобразование шестнадцатеричного числа в двоичное происходит так:
7F816 = 0111 1111 10002,
7 F 8
Обратное преобразование двоичного числа в шестнадцатеричное происходит следующим образом. Двоичное число разбивается на тетрады (4 разряда) и каждая тетрада заменяется эквивалентом 16-ричного числа.
Число 0111 1111 1000(2) = 7F8(16) .