Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1. Системы счисления.doc
Скачиваний:
21
Добавлен:
19.09.2019
Размер:
251.39 Кб
Скачать

Перевод р-ичного числа в десятичную систему счисления

Для перевода p-ичного числа в десятичную систему счисления используется формула (1), причем операции сложения, умножения и возведения в степень в этой формуле проводятся в десятичной системе.

Пример 3. Перевести двоичное число 1 110 010 010 001,11001112, восьмеричное 16 221,6368 и шестнадцатеричное 1 C91,CF16 в десятичную систему счисления.

1 110 010 010 001,11001112 = 1·212 + 1·211 + 1·210 + 1·27 + 1·24 + 1·20 + 1·2-1 + 1·2-2 + 1·2-5 + 1·2-6 + 1·2-7 =

= 4096 + 2048 + 1024 + 128 + 16 + 1 + 1/2 + 1/4 + 1/32 + 1/64 + 1/128 = 7 313,804687510,

16 221,6368 = 1·84 + 6·83 + 2·82 + 2·81 + 1·80 + 6·8-1 + 3·8-2 + 6·8-3 = 212 + 6·29 + 2·26 + 2·23 + 1 + 6/23 + 3/26 + 6/29 = = 4096 + 6·512 + 128 + 16 + 1 + 6/8 + 3/64 + 6/512 = 7 313,8085937510,

1 C91,CF16 = 1·163 + 12·162 + 9·161 + 1·160 + 2·16-1 + 15·16-2 = 212 + 12·256 + 9·16 + 1 + 12/16 + 15/256 =

= 4096 + 12·256 + 9·16 + 1 + 12/16 + 15/256 = 7 313,8085937510.

Проверим, что исходные двоичное, восьмеричное и шестнадцатеричное числа равны десятичному числу 7 313,8110 с точностью до ε = 0,006:

|7 313,8046875 – 7 313,81| = 0,0053125 < 0,006 = ε,

|7 313,80859375 – 7 313,81| = 0,00140625 < 0,006 = ε.

Преобразование между двоичной, восьмеричной и шестнадцатеричной системами счисления

Указанные системы счисления используются в компьютерах для представления информации. Основной системой является двоичная. В ней хранится абсолютно вся информация (числовая, текстовая, графическая, аудио- и видеоинформация). Для обозначения нуля и единицы используются электрические сигналы низкого и высокого уровня соответственно. При всем удобстве двоичной системы у нее есть существенный недостаток – запись в двоичной системе очень громоздкая (см. пример 1). Поэтому для сокращения двоичных чисел используются равные им восьмеричные или шестнадцатеричные числа.

Для преобразования между двоичной, восьмеричной и шестнадцатеричной системами счисления используются двоичные три­ады и двоичные тетрады (табл. 3).

Таблица 3

Восьмеричный или шестнадцатеричный знак

Двоичная триада

Двоичная тетрада

0

000

0000

1

001

0001

2

010

0010

3

011

0011

4

100

0100

5

101

0101

6

110

0110

7

111

0111

8

1000

9

1001

A

1010

B

1011

C

1100

D

1101

E

1110

F

1111

Для того чтобы перевести восьмеричное (шестнадцатеричное) число в двоичную систему счисления, до­статочно заменить каждую его цифру соответствующей двоичной триадой (тетрадой).

Пример 4. Перевести восьмеричное число 16221,6368 и шестнадцатеричное число 1C91,CF16 в двоичную систему счисления.

Решение. Переведем в двоичную систему счисления сначала исходное восьмеричное число.

  1. Заменим в восьмеричном числе каждую цифру соответствующей двоичной триадой согласно табл. 3:

16221,6368 = 001 110 010 010 001,110 011 1102.

  1. Удалим незначащие нули в полученном двоичном числе:

001 110 010 010 001,110 011 1102 = 1 110 010 010 001,110 011 112.

Аналогичным образом переведем заданное шестнадцатеричное число в двоичную систему счисления.

  1. Заменим в шестнадцатеричном числе каждую цифру соответствующей двоичной тетрадой согласно табл. 3:

1C91,CF16 = 0001 1100 1001 0001,1100 11112.

  1. Удалим незначащие нули в полученном двоичном числе:

0001 1100 1001 0001,1100 11112 = 1 1100 1001 0001,1100 11112.

Ответ. 16221,6368 = 1 110 010 010 001,110 011 112, 1C91,CF16 =1 1100 1001 0001,1100 11112.

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

Пример 5. Перевести двоичное число 1110010010001,11001112 в восьмеричную и шестнадцатеричную системы счисления.

Решение. Переведем исходное число сначала в восьмеричную систему.

  1. Разобьем разряды исходного двоичного числа на триады (по отдельности в целой и дробной частях):

1110010010001,11001112 = 1 110 010 010 001,110 011 12.

  1. Мы видим, что после разбиения образовались две неполных триады (по одной в целой и в дробной частях). Чтобы двоичное число не изменилось, формально дополним эти триады нулями (в целой части ­– слева, в дробной – справа):

1 110 010 010 001,110 011 12 = 001 110 010 010 001,110 011 1002.

  1. Заменим каждую двоичную триаду соответствующим восьмеричным знаком согласно табл. 3:

001 110 010 010 001,110 011 1002 = 16 221,6348.

Аналогичным образом переведем заданное число в шестнадцатеричную систему счисления.

  1. Разобьем разряды исходного двоичного числа на тетрады:

1110010010001,11001112 = 1 1100 1001 0001,1100 1112.

  1. Добавим в неполные тетрады нули:

1 1100 1001 0001,1100 1112 = 0001 1100 1001 0001,1100 11102.

  1. Заменим каждую двоичную тетраду соответствующим восьмеричным знаком согласно табл. 3:

0001 1100 1001 0001,1100 11102 = 1 C91,CE16.

Ответ. 1110010010001,11001112 = 16 221,6348 = 1 C91,CE16.

Выполнение арифметических операций в двоичной системе счисления

Особая значимость двоичной системы счисления в информатике определяется тем, что внутреннее представление любой информации в компьютере является двоичным, т.е. описываемым наборами только из двух знаков (0 и 1).

Рассмотрим выполнение арифметических операций в двоичной системе счисления. Для этого воспользуемся таблицами сложения и умножения двоичных чисел (табл. 4).

Таблица 4

Таблицы сложения и умножения в двоичной системе счисления

Сложение

Умножение

+

0

1

×

0

1

0

0

1

0

0

0

1

1

10

1

0

1

Из табл. 4 следует, что при сложении двух единиц возникает избыток: значение суммы двух со­ответствующих разрядов превышает наибольшее значение, которое можно пред­ставить одной цифрой двоичного представления. В этом случае в данный разряд записывается нуль, а единица переносится в стар­ший, левый разряд.

Пример 6. Сложить десятичные числа 19910 и 14910, используя их двоичное представление. Перевести полученную сумму обратно в десятичную систему счисления и проверить правильность полученного результата.

Решение. Переведем исходные числа в двоичную систему счисления:

19910 = 110001112, 14910 = 100101012.

Выполним сложение полученных двоичных чисел в соответствии с табл. 4:

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

1010111002 = 28 + 26 + 24 + 23 + 22 = 256 + 64 + 16 + 8 + 4 = 34810 = 19910 + 14910.

Ответ. 19910 + 14910 = 1010111002.

Операцию вычитания двоичных чисел можно проводить так же, как это делается в десятичной системе.

Пример 7. Найти разность десятичных чисел 19910 и 14910, используя их двоичное представление.

Решение.

,

1100102 = 25 + 24 + 21 = 5010 = 19910 – 14910.

Ответ. 19910 – 14910 = 1100102.

В вычис­лительной технике операцию вычитания заменяют операцией сложения с отрицательным числом и используют для этого спе­циальное представление – обратный или дополнительный коды. Этот вопрос будет рассмотрен позже.

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

Пример 8. Выполнить умножение десятичных чисел 19910 и 14910, используя их двоичное представление.

Решение. В качестве второго множителя удобнее брать то двоичное число, в записи которого используется меньше единиц.

,

1110011110100112 = 214 + 213 + 212 + 29 + 28 + 27 + 26 + 24 + 21 + 20 =

= 16 384 + 8 192 + 4 096 + 512 + 256 + 128 + 64 + 16 + 2 + 1 = 29 65110 = 19910 × 14910.

Ответ. 19910 × 14910 = 111 001 111 010 0112

Деление в двоичной системе счисления выполняется по тому же алгоритму, что и в десятичной системе («углом»):

Пример 9. Выполнить умножение десятичных чисел 19910 и 1910, используя их двоичное представление.

Решение. Представим десятичное число 1910 в двоичной системе счисления:

1910 = 100112.

Выполним деление:

1

1

0

0

0

1

1

1

1

0

0

1

1

1

0

0

1

1

1

0

1

0

1

0

1

1

1

1

0

0

1

1

1

0

0

1

Таким образом,

19910 = 10102 × 1910 + 10012.

Из примера следует, что в результате выполнения деления может получиться остаток или дробная часть, которая будет содержать бесконечно много знаков. Если остаток отбрасывается, то результатом операции деления является целое число (в этом случае деление называется целочисленным). В противном случае результатом операции деления является действительное число.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]