КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Системы счисления и преобразования между ними
Представление данных в ЭВМ Easy Code Разработчики · Джон Фаунд — основоположник проекта, написавший значительную часть кода последних версий; · Фредрик Классон (scientica); · Томми Лиллехаген; · Виктор Ло (roticv); · Юнус Сина Гюльшен (VeSCeRa); · Матьяш Тымек (decard). Скриншот ИСР: Скриншот ИСР: Различные системы счисления отличаются не только базовым набором чисел, но и основными концепциями, которые лежат в их основе. Взять, например, систему счисления, которая использовалась древними римлянами: она довольно трудна для восприятия, в ней очень сложно производить вычисления и невозможно представить 0. Данная система неудобна даже для человека, не говоря уж о том, чтобы научить компьютер «понимать» ее. Говорят, что римским коммерсантам не был нужун 0 и отрицательные числа, так как они манипулировали числом «штук». · Десятичные числа Десятичная система, которую мы используем всю жизнь, относится к классу так называемых позиционных систем, в которых число А может быть представлено в виде: A = An * Zn + An-1*Zn-1 + … + A1*Z1 +A0*Z0 Здесь: · An - цифры числа · Z - основание системы счисления Например, десятичное число 1234 можно представить так: 1234 = 1*103 + 2*102 + 3*102 + 4*100. «Вес» каждой цифры определяется позицией цифры в числе и равен степени основания, соответствующей ее позиции. Позиции нумеруются слева, начиная с 0. · Двоичные числа При работе с различными системами счисления мы будем записывать само число в скобках, а за скобками — основание системы. Например, если написать просто число 1100, то не понятно, в какой системе оно записано — это может быть одна тысяча сто, а может быть 12, если число записано в двоичной системе. А если представить число в виде (1100)2, то сразу все становится на свои места: число записано в двоичной системе. Двоичная система тоже позиционная, поэтому, например, число 1100 в двоичной системе мы можем представить так: (1100)2 = 1*23 + 1*22 + 0*21 + 0*20 = 4 + 8 =(12)10. Обратите внимание, что для представления числа 12 в двоичной системе использованы только 4 разряда. Наибольшее число, которое можно записать 4 двоичными цифрами, равно 15, потому что (1111)2 = 1*23 + 1*22 +1*21 + 1*20 = 8 + 4 + 2 + 1 = (15)10. В программах двоичные числа завершаются суффиксом b. В примере это 1100b. Для кодирования двоичных чисел применяют несколько кодов.: Прямой код: 0 в старшем разряде соответствует положительным числам, 1 – отрицательным. Остальные разряды представляют модуль числа. В таком коде удобно осуществлять операции умножения (модули чисел перемножаются, а знаковые разряды складываются по модулю два), но неудобно реализовывать сложение. Примеры:
Дополнительный код: 0 в старшем разряде соответствует положительным числам, 1 – отрицательным. Дополнительный код положительного числа, есть само число. Дополнительный код отрицательного числа образуется путем инверсии всех битов положительного числа (включая знаковый) и прибавления 1. В дополнительном коде удобно выполнять операции сложения – числа со знаком складываются точно так же, как беззнаковые. Обратное преобразование производится точно по тому же правилу. Дополнительное преимущество дополнительного кода: +0 и -0 имеют одинаковый код 000b. Примеры:
Обратный код: 0 в старшем разряде соответствует положительным числам, 1 – отрицательным. Обратный код положительного числа, есть само число. Совпадает с прямым кодом. Обратный код отрицательного числа образуется путем вычитания символа каждого разряда (включая знаковый) из числа, на 1 меньшего основания системы счисления. Обратное преобразование производится точно по тому же правилу. Практически не применяется. Смещенный код: 1 в старшем разряде соответствует положительным числам, 0 – отрицательным. Представления чисел получаются путем прибавления к ним константы 2N–1, где N – число двоичных разрядов (не считая знакового). Применяется для кодирования вещественных чисел (с дробной частью) в формате с плавающей точкой. · 8-ричные чила Двоичная система счисления, в которой работают все цифровые электронные устройства, неудобна для человека. Для удобства представления двоичного содержимого ячеек памяти или регистров процессора используется позиционая 8-ричная система счисления. Ее алфавит состоит из 8 арабских цифр от 0 до 7. Пример 8-ричного числа: (247)8 = 2*82 + 4*81 + 7*80 = 128 + 32 + 7 = 167. В программах 8-ричные числа завершаются суффиксом o. В примере это 247o. Переход от десятичных чисел к 8-ричным и обратно производится аналогично случаю двоичных чисел. Преобразование двоичных чисел в 8-ричные производится следующим образом: · Двоичное число, начиная с младших разрядов, разбивается на триады (тройки символов). Если длина числа не кратна трём, то оно дополняется старшими нулевыми разрядами. · Каждая триада записывается символами 8-ричного алфавита. При обратном переходе каждый символ представляется 3-разрядным двоичном числом. Единая последовательность этих чисел и представляет собой искомое двоичное число.Знак 8-ричного числа отображается в старшем разряде: 0 соответствует положительному числу, 1 – отрицательному. 8-ричные числа сейчас почти не применяются, так как в большинстве процессоров адресуются байты, в котоых 8 позиций (не кратно 3). · 16-ричные чила Двоичная система счисления, в которой работают все цифровые электронные устройства, неудобна для человека. Для удобства представления двоичного содержимого ячеек памяти или регистров процессора используется позиционая 16-ричная система счисления. Ее алфавит состоит из 10 арабских цифр от 0 до 9 и шести латинских букв: A (вес 10), B (вес 11), C (вес 12), D (вес 13), (вес 14), F (вес 15). Пример 16-ричного числа: (524D)16 = 5*163 + 2*162 + 4*161 + 13*160 = 20480 + 512 + 64 + 13 = 21069. В программах 16-ричные числа завершаются суффиксом h. В примере это 524Dh. То же самое число в двоичном представлении содержит в 4 раза больше символов – 0101 0010 0100 1101.!6-ричное представление более компактно. Переход от десятичных чисел к 16-ричным и обратно производится аналогично случаю двоичных чисел. Преобразование двоичных чисел в 16-ричные производится следующим образом: · Двоичное число, начиная с младших разрядов, разбивается на тетрады (четвёрки символов). Если длина числа не кратна четырём, то оно дополняется старшими нулевыми разрядами. · Каждая тетрада записывается символами 16-ричного алфавита. При обратном переходе каждый символ представляется 4-разрядным двоичном числом. Единая последовательность этих чисел и представляет собой искомое двоичное число.Знак 16-ричного числа отображается в старшем разряде: 0 соответствует положительному числу, 1 – отрицательному. В программах 16-ричные эквиваленты сопровождаются суффиксом h.
Дата добавления: 2014-10-23; Просмотров: 547; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |