Урок №8. Правила перевода чисел из одной системы в другую

Тема 2. Представление информации в Эвм

Урок №7: Системы счисления информации: двоичная, восьмеричная, шестнадцатеричная

 

Определение: система счисления это способ записи чисел с помощью заданного набора специальных знаков.

Привычная нам система счисления - десятичная.

Для записи в ней используется 10 цифр

0, 1, 2, 3, 4, 5, 6, 7, 8, 9

А значение каждой цифры ее вес определяется той позицией которую цифра занимает в записи числа:

Так запись числа 23 означает что это число состоит из 3 единиц и 2 десятков, если же мы поменяем позиции цифр,

то получим 32, это число содержит три десятка и две единицы «вес» двойки уменьшился в 10 раз, а вес тройки возрос в 10 раз

 

Определение: Цифры десятичной записи числа - это просто коэффициенты его представления в виде суммы степеней числа 10 основания системы

В ЭВМ обычно используют двоичную систему счисления (ее основание число 2) две цифры 0, 1. Выбор двоичной системы объясняется тем, что электронные элементы из которых строятся ЭВМ могут находится только в двух хорошо различимых устойчивых рабочих состояниях. По существу эти элементы представляют собой обычные выключатели. Как известно, выключатель может быть включен, а может быть выключен.

Для представления информации вне ЭВМ применять двоичную систему неудобно, часто используется восьмеричная или шестнадцатеричная система

1 восьмеричная от 0 до 7 основание системы 8

2 шестнадцатеричная от 0 до 9 A B C D E F

 

Перевод из любой другой системы в десятичную

 

a b c d (p) = a*p + b*p + c*p + d*p формула перевода в десятичную систему из любой другой р основание системы из которой переводим

253 = 2 * 10 + 5 * 10 + 3 * 10

237 (8) = 2 * 8 + 3 * 8 + 7 * 8 = 128 + 24 + 7 = 159 (10)

13Е (16) = 1 * 16 + 3 * 16 + 14 * 16 = 256 + 48 + 14 = 318 (10)

 

Перевод чисел из десятичной в любую другую:

Необходимо разделить десятичное число на основание той системы в которую переводим и выписать остатки начиная с младшего разряда справа налево:

 

из 10 в 2

29 2 29 (10) = 11101 (2)

28 14 2

14 7 2

6 3 2

1 2 1

 

 

из 10 в 8

 

159 (10) 8

152 19 8

7 16 2

3 159 (10) = 237 (8)

 

318 (10) 16

304 19 16

14 16 1

3 318 (10) = 13 Е (16)

 

Перевод из двоичной в восьмеричную и шестнадцатеричную

1 двоичную запись числа разбивают на группу по три цифры справа налево начиная с младшего разряда (триады)

 

001 011 101 011 (2)=1353 (8) затем каждую тройку заменяют соответствующей цифрой восьмеричной системы.

 

Обратный переход от восьмеричной к двоичной осуществляется заменой каждой восьмеричной цифры соответствующей тройкой двоичных цифр

 

231 (8 )=010 011 001 (2)

 

Перевод в шестнадцатеричную систему

2 двоичную запись числа разбивают на группу по четыре цифры (тетрады) справа налево начиная с младшего разряда

 

100110101111 (2)=9AF(16)

 

В 5(16)=10110101(2)

 

 

 

Основанием системы счисления называют число, в виде степеней которого может быть записано любое число в данной системе счисления. Системы счисления, применяемые в ЭВМ, ориентированы на двоичную систему, т. к. основной ЭВМ является триггер, имеющий два устойчивых состояния.

В десятичной системе счисления основанием является 10 и для записи чисел используют символы 0...9.

В двоичной системе основанием является 2. Для записи чисел используются символы 0 и1.

Для перевода числа из десятичной системы в двоичную надо последовательно делить на два и результат записывать справа налево, начиная с последнего частного, включая остатки от деления.

Таблица №1

А
В
С
D
E
F

 

В восьмеричной системе основанием является 8. Для записи чисел используют символы 0...7. Любое число может быть записано как сумма степеней 8. Для перевода числа из десятичной системы в восьмеричную надо последовательно делить на 8.

Для перевода числа из двоичной системы в восьмеричную, нужно отсчитывать справа налево по три разряда двоичного числа и записывать каждую группу из трех разрядов с помощью символов 0...7.

Основанием в шестнадцатеричной системе является 16, для записи чисел используются символы 0...9 и A...F. Для перевода из десятичной системы в шестнадцатеричную, надо последовательно делить на 16.

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

Арифметические действия над двоичными числами

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

Вычитание заменяется суммированием в дополнительном или обратном коде.

Суммирование производится по правилам суммирования по модулю 2.

 

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 и 1 перенос в старший разряд.

 

Вычитание с применением обратного кода

Прямой код положительного числа совпадает с его обратным и дополнительным кодом.

Обратный код отрицательного числа образуется инверсией единиц в нули и нулей в единицы. Если количество разрядов уменьшаемого и вычитаемого разное, то слева дописываются нули в прямом коде так, чтобы количество разрядов было одинаково.

Содержимое знаковых разрядов:

0 - для положительных

1 - для отрицательных

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

 

Образование дополнительного кода

Дополнительный код образуется из прямого кода инверсий и добавлением единицы к младшему разряду.

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