Урок №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 - для отрицательных
Если результат получается отрицательный, его нужно преобразовать в прямой код; содержимое знакового разряда не инвертируется. Если в знаковом разряде наблюдается переполнение разрядной сетки, то единица переполнения добавляется к младшему разряду, а затем происходит переход к прямому коду.
Образование дополнительного кода
Дополнительный код образуется из прямого кода инверсий и добавлением единицы к младшему разряду.
Если результат получился отрицательным, то чтобы получить прямой код необходимо осуществить инверсию, а затем добавить единицу к младшему разряду. Единица переполнения знакового разряда при использовании дополнительного кода отбрасывается.