<<
>>

Кодирование и обработка чисел

Кроме кодирования символов, в ЭВМ очевидную важность имеют кодирование и представление чисел. Системы счисления. Человек привык считать предметы десятками, сотнями и пр. Это — десятичная система счисления, которая не является единственно возможной (известна, например, двенадцатеричная система счисления).
Наиболее естественный способ представления числа в компьютерной системе заключается в использовании строки битов, называемой двоичным числом — числом в двоичной системе счисления. Основание позиционной системы счисления — количество различных цифр (Р), используемых для изображения числа в позиционной системе счисления. Значения цифр лежат в пределах от 0 до Р- 1. В общем случае запись любого числа N в системе счисления с основанием Р будет представлять собой ряд (многочлен) вида ап_, х Рп,Л I ап:2 х Рт У + ... + ак х Рк + ... ... + а, х Р[ + а0 х Р° +... + о , х Р ' + а_г х Р~2 + ...
+ а , х Р\ (1.1) Нижние индексы определяют местоположение цифры в числе (разряд): • положительные значения индексов — для целой части числа (т разрядов); • отрицательные значения — для дробной ($ разрядов). Максимальное целое число, которое может быть представлено в т разрядах: Минимальное значащее, не равное 0 число, которое можно записать в 5 разрядах дробной части: Имея в целой части числа т разрядов, а в дробной — з, можно записать Рт*1 разных чисел. Двоичная система счисления (основание Р= 2) использует для представления информации две цифры — 0 и 1. Существуют простые правила перевода чисел из одной системы счисления в другую, основанные, в том числе, и на выражении (1.1).
Например, двоичное число 101110,101 равно десятичному числу 46,625: Практически перевод из двоичной системы в десятичную можно легко выполнить, если надписать над каждым разрядом соответствующий ему «вес», а затем и сложить произведения значений соответствующих цифр на их веса:

Например, двоичное число 010000012 равно 65,0. Действительно, 64 х 1 + 1 х 1 = 65. Таким образом, для перевода числа из позиционной системы счисления с любым основанием в десятичную систему счисления можно воспользоваться выражением (1.1). Обратный перевод из десятичной системы счисления в систему счисления с другим основанием непосредственно по (1.1) затруднителен, поскольку все арифметические действия, предусмотренные этой формулой, следует выполнять в той системе счисления, в которую число переводится. Обратный перевод выполняется значительно проще, если предварительно преобразовать отдельно целую и дробную части выражения (1.1) к виду Алгоритм перевода числа из десятичной системы счисления в систему счисления с основанием Р, основанный на этих выражениях, позволяет оперировать числами в той системе счисления, из которой число переводится, и может быть сформулирован следующим образом. При переводе смешанного числа следует переводить его целую и дробную части отдельно. 1. Для перевода целой части числа ее, а затем целые части получающихся частных от деления следует последовательно делить на основание Р до тех пор, пока очередная целая часть частного не окажется равной 0. Остатки от деления, записанные последовательно справа налево, образуют целую часть числа в системе счисления с основанием Р. 2. Для перевода дробной части числа ее а затем дробные части получающихся произведений следует последовательно умножать на основание Р до тех пор, пока очередная дробная часть произведения не окажется равной 0 или не будет достигнута нужная точность дроби.

Целые части произведений, записанные после запятой последовательно слева направо, образуют дробную часть числа в системе счисления с основанием Р. Пусть требуется перевести смешанное число из десятичной в двоичную систему счисления на примере числа 46,625. 1. Переводим целую часть числа: 46 : 2 = 23 (остаток 0); 23 : 2 = 11 (остаток 1); 11 : 2 = 5 (остаток I); 5:2 = 2 (остаток 1); 2:2=1 (остаток 0); 1:2 = 0 (остаток 1). Записываем остатки последовательно справа налево — 101110, т. е. 46|0 = 101П02. 2. Переводим дробную часть числа: 0, 625x2= 1,250; 0, 250 х 2 = 0,500; 0, 500 х 2 = 1,000 (дробная часть равна 0 => стоп). Записываем целые части получающихся произведений после запятой последовательно слева направо — 0,101, т. е.: 0, 62510 = 0,1012. Окончательно: 46,625,„= 101110,1012. Кроме двоичной и десятичной в компьютерах используются также двоично-десятичная и шестнадцатеричная системы счисления (табл. 1.5).
Таблица 1.5. Перевод цифр из двоичной системы счисления в восьмеричную, шестнадцатеричную, десятичную и обратно * Запрещены в двоично-десятичном представлении.

Шестнадцатеричная система счисления часто используется при программировании. Перевод чисел из шестнадцатеричной системы счисления в двоичную весьма прост — он выполняется поразрядно. Для изображения цифр, больших 9, в шестнадцатеричной системе счисления применяются буквы латиницы: А = 10, в = 11,

<< | >>
Источник: О. Л. Голицына, Т. Л. Партыка, И. И. Попов. ЯЗЫКИ ПРОГРАММИРОВАНИЯ. 2008

Еще по теме Кодирование и обработка чисел:

  1. 2.6. Правила кодирования
  2. Положительное кодирование.
  3. ПРИНЦИП КОДИРОВАНИЯ СПЕЦИФИЧЕСКОГО
  4. СХЕМЫ ВОЗДЕЙСТВИЯ ПРИ КОДИРОВАНИИ ЧЕЛОВЕКА
  5. Трактовка чисел нумерологического эгрегора
  6. Характеристики чисел года соляра
  7. ИНФОРМАЦИЯ: ОБРАБОТКА ПОСЛЕДОВАТЕЛЬНАЯ (
  8. ИНФОРМАЦИЯ: ОБРАБОТКА ПАРАЛЛЕЛЬНАЯ
  9. Статистическая обработка.
  10. ТЕОРИЯ УРОВНЕЙ ОБРАБОТКИ