где p – основание системы счисления, натуральное число; a – цифра; n – номер старшего разряда числа.
Показатели степени основания для дробной части числа изображаются отрицательными числами от –1 до . Смешанное число в общем виде можно представить следующим выражением:
A( n) an pn an1pn1 ...a1p1 a0p0 a1p1 ...am pm .
В современной информатике используются двоичная, восьмеричная, десятичная и шестнадцатеричная системы счисления.
Двоичная система счисления имеет набор цифр {0,1} и p=2. Двоичное число можно представить таким выражением:
A( n) an 2n an12n1 ...a121 a020 a121 ...am 2m . Пример. 11012 = 1·23 + 1·22 + 0·21 + 1·20 = 1310.
Восьмеричная система счисления в настоящее время в информатике практически не используется. Она имеет набор цифр {0, 1, 2, 3, 4, 5, 6, 7} и p=8.
Представление восьмеричного числа:
A( n) an 8n an18n1 ...a181 a080 a181 ...am 8m .
Пример. 3778 = 3·82 + 7·81 + 7·80 = 25510
Десятичная система счисления используется в нашей повседневной жизни, имеет набор цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} и p=10. Представление десятичного числа:
A( n) an10n an110n1 ...a1101 a0100 a1101 ...am10m .
Пример. 152,710 = 1·102 + 5·101 + 2·100 + 7·10-1.
Шестнадцатеричная система счисления имеет набор цифр {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F} и p=16. Для изображения первых десяти цифр используются цифры десятичной системы счисления, а для изображения остальных цифр – шесть первых букв латинского алфавита. Представление шестнадцатеричного числа:
A(n) an16n an116n1 ...a1161 a0100 a1161 ...am16m. Пример. E7F816 = E·163 + 7·162 + F·161 + 8·160 = 5938410.
Двоичная система счисления получила исключительное распространение в вычислительной технике благодаря представлению цифры каждого разряда электронной схемой с двумя устойчивыми состояниями и простоте выполнения арифметических операций. Восьмеричная и шестнадцатеричная системы счисления представляет собой более компактную форму записи двоичных чисел, при которой три или четыре двоичные цифры заменяются либо на одну восьмеричную, либо на две шестнадцатеричные.
Поскольку люди и вычислительные машины пользуются различными системами счисления, следует знать принципы перевода чисел из одной системы счисления в другую. Преобразование числа из системы счисления с произвольным основанием в десятичное представление производится по вышеприведенным соотношениям. Далее рассмотрим другие правила перевода целых чисел ручным методом.
Правило 1. Для перевода целого десятичного числа x в систему счисления с основанием p необходимо делить исходное число x и образующиеся частные на p до получения частного, равного нулю. Искомое представление есть последовательность остатков от деления, причем первый остаток есть младшая цифра.
Пример. Перевод десятичного числа 236 в двоичное число:
Частные | Остатки |
236 118 59 29 14 7 3 1 0 | 0 = а0 0 = а1 1 = a2 1 = a3 0 = a4 1 = a5 1 = a6 1 = a7 |
Записывая остатки от деления снизу вверх, получим: 23610 = 111011002.
Правило 2. Для перевода целого двоичного числа в шестнадцатеричную систему счисления необходимо исходное число справа налево сгруппировать по четыре цифры, а затем каждую группу записать одной шестнадцатеричной цифрой. Пример. Перевод двоичного числа 1111010 в шестнадцатеричное число: 1111010(2) = 0111 1010 = 7A(16) .
Перевод двоичных чисел в восьмеричные осуществляется по правилу 2, но группировать двоичные цифры следует по три.
Правило 3. Для перевода целого шестнадцатеричного числа в двоичное необходимо каждую цифру исходного числа записать в виде эквивалентного четырехбитного двоичного числа. Пример. Перевод шестнадцатеричного числа 5AF в двоичное число:
5AF(16) = 0101 1010 1111 = 01011010111(2) .
Перевод восьмеричного числа в двоичное производится аналогичным образом, но при этом каждая восьмеричная цифра должна быть записана в виде трехбитного двоичного числа.
Для ручного перевода чисел из одной системы счисления в другую можно воспользоваться табл. 4.1.
Таблица 4.1 Таблица перевода чисел
Десятичное число | Шестнадцатеричное число | Восьмеричное число | Двоичное число |
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 0 1 2 3 4 5 6 7 8 9 A B C D E F | 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 | 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 |
Система вещественных десятичных чисел, применяемая в ручных расчетах, предполагается бесконечной и непрерывной. Это означает, что при этом не накладывается никаких ограничений на диапазон используемых чисел и точность их представления (количество значащих разрядов или цифр). Реализовать такую систему чисел в технических устройствах невозможно. В ЭВМ, которые оперируют двоичными числами, размеры регистров процессора и ячеек памяти фиксированы, что накладывает ограничения на систему представимых чисел. Ограничения касаются диапазона допустимых чисел и точности их представления. Поэтому система машинных чисел оказывается конечной и дискретной, образуя подмножество системы вещественных чисел.
Для процессора любой ЭВМ существуют максимальное представимое число Zmax и минимальное представимое число Zmin, между которыми находится множество допустимых чисел (рис. 4.1). Существуют два таких множества – для положительных и отрицательных чисел. Если результат машинной операции превышает Zmax, возникает состояние переполнения, при этом дальнейшее выполнение программы не имеет смысла и обычно прекращается. Если результат операции оказывается меньше Zmin, то фиксируется состояние антипереполнения. Обычно при антипереполнении результат операции обращается в нуль. Область чисел от -Zmin до +Zmin, за исключением истинного нуля, называют машинным нулем.
Рассмотрим далее форматы представления в ЭВМ вещественных чисел с фиксированной и плавающей точкой.
В системе команд процессора ЭВМ и языках программирования существуют два формата представления чисел: с фиксированной точкой (для целых чисел) и с плавающей точкой (для вещественных чисел).
Область
Представимые машинного Представимые числа нуля числа
Рис. 4.1. Система машинных чисел
Целые числа могут быть со знаком или без знака. Формат представления в памяти ЭВМ целых чисел без знака имеет вид, показанный на рис. 4.2. Значок ^ здесь и далее обозначает положение десятичной точки, отделяющей целую часть числа от дробной части. Все разряды такого числа являются значащими, а положение точки фиксируется после младшего значащего разряда. Диапазон представимых чисел: от 0 до 2n-1.