С-21 Системы счисления. Тема Системы счисления. Непозиционные и позиционные системы счисления. Позиционные и непозиционные системы счисления
![]()
|
Тема: Системы счисления. Непозиционные и позиционные системы счисления. 1. Позиционные и непозиционные системы счисления Системой счисления называется совокупность приемов и правил для записи чисел цифровыми знаками. Любая предназначенная для практического применения система счисления должна обеспечивать: возможность представления любого числа в рассматриваемом диапазоне величин; единственность представления (каждой комбинации символов должна соответствовать одна и только одна величина); простоту оперирования числами. Все системы представления чисел делят на позиционные и непозиционные. Непозиционная система счисления – система, для которой значение символа не зависит от его положения в числе. Для их образования используют в основном операции сложения и вычитания. Например, система с одним символом-палочкой встречалась у многих народов. Для изображения какого-то числа в этой системе нужно записать количество палочек, равное данному числу. Эта система неэффективна, так как запись числа получается длинной. Другим примером непозиционной системы счисления является римская система, использующая набор следующих символов: I, V, X, L, C, D, M и т. д. В этой системе существует отклонение от правила независимости значения цифры от положения в числе. В числах LX и XL символ X принимает два различных значения: +10 – в первом случае и –10 – во втором случае. Позиционная система счисления – система, в которой значение символа определяется его положением в числе: один и тот же знак принимает различное значение. Например, в десятичном числе 222 первая цифра справа означает две единицы, соседняя с ней – два десятка, а левая – две сотни. Любая позиционная система характеризуется основанием. Основание (базис) позиционной системы счисления – количество знаков или символов, используемых для изображения числа в данной системе. Для позиционной системы счисления справедливо равенство![]() (1) где A(q) – произвольное число, записанное в системе счисления с основанием q; ai – коэффициенты ряда (цифры системы счисления); n, m – количество целых и дробных разрядов. На практике используют сокращенную запись чисел: ( ![]() Например: а) в двоичной системе (q=2) 11010.1012 = 1 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 + 1 · 2-1 + 0 · 2-2 + 1 · 2-3; б) в троичной системе (q=3) 22120.2123 = 2 · 34 + 2 · 33 + 1 · 32 + 2 · 31 + 0 · 30 + 2 · 3-1 + 1 · 3-2 + 2 · 3-3; в) в шестнадцатиричной системе (q=16) A3F.1CD16 = A · 162 + 3 · 161 + F · 160 + 1 · 16-1 + C · 16-2 + D · 16-3. Контрольные вопросы: Что обеспечивает система счисления? Какая система счисления называется позиционной? Какая система счисления называется непозиционной? Какое равенство отожествляется с позиционной системой счисления? Приведите примеры позиционных и непозиционных систем счисления. Тема: Перевод чисел из заданной системы в другую. Методы перевода чисел Числа в разных системах счисления можно представить следующим образом: ![]() ![]() где Значит, в общем виде задачу перевода числа из системы счисления с основанием q1 в систему счисления с основанием q2 можно представить как задачу определения коэффициентов bj нового ряда, изображающего число в системе с основанием q2. В такой постановке задачу перевода можно решить подбором коэффициентов bj. Перевод чисел делением на основание новой системыПеревод целых чисел осуществляется делением на основание q2 новой системы счисления, правильных дробей – умножением на основание q2. Действия деления и умножения выполняются по правилам q1-арифметики. Перевод неправильных дробей осуществляется раздельно по указанным правилам, результат записывается в виде новой дроби в системе с основанием q2. Пример 1. Перевести десятичное число A = 6110 в систему счисления с q = 2. 61 | 2 60 30 | 2 b0 = 1 30 15 | 2 b1 = 0 14 7 | 2 b2 = 1 6 3 | 2 b3 = 1 2 1 = b5 b4 = 1 Ответ: 6110 = 1111012. Табличный метод переводаВ простейшем виде табличный метод заключается в следующем: имеется таблица всех чисел одной системы с соответствующими эквивалентами из другой системы; задача перевода сводится к нахождению соответствующей строки таблицы и выбору из нее эквивалента. Такая таблица очень громоздка и требует большой емкости памяти для хранения. Другой вид табличного метода заключается в том, что имеются таблицы эквивалентов в каждой системе только для цифр этих систем и степеней основания (положительных и отрицательных); задача перевода сводится к тому, что в выражение ряда (1) для исходной системы счисления надо поставить эквиваленты из новой системы для всех цифр и степеней основания и произвести соответствующие действия (умножения и сложения) по правилам q2-арифметики. полученный результат этих действий будет изображать число в новой системе счисления. Пример 2. Перевести десятичное число A = 113 в двоичную систему счисления, используя таблицу эквивалентов цифр и степеней основания (q2 = 2). Таблица 1 – Таблица эквивалентов
Решение. Подставив значения двоичных эквивалентов десятичных цифр и степеней основания в (3), получим A = 113 = 1 · 102 + 1 · 101 + 3 · 100 = 001 · 1100100 + 0001 · 1010 + 0011 · 0001 = 11100012. Ответ: 11100012. Форматы представления чисел с фиксированной и плавающей запятой Число 0,028 можно записать так: 28·10-3, или 2,8·10-2, или 0,03 (с округлением) и т. д. В компьютере используются две формы представления чисел. Представление чисел с фиксированной запятой (точкой). Оно характеризуется тем, что положение разрядов числа в машинном изображении остается всегда постоянным независимо от величины самого числа. Число А можно представить в виде A=[A]ф KA, где [A]ф – машинное изображение числа в формате с фиксированной запятой, значение которого лежит в пределах -1 < [A]ф < 1; KA – масштабный коэффициент, выбирается так, чтобы сохранить соответствие разрядов всех чисел, которыми оперирует компьютер. Формат (разрядная сетка) машинного изображения чисел с фиксированной запятой разбивается на знаковую часть и поле числа. В знаковую часть записывается информация о знаке числа: 0, если A≥0; 1, если A<0.
![]() ![]() ![]() ![]() Знаковая частьПоле числа Например, числа А1 и A2 в прямом коде имеют машинное изображение:
A1 = 0.0100111000101112;
A2 = – A1 = 0.0100111000101112. Представление чисел в формате с плавающей запятой. Оно характеризуется тем, что положение разряда числа в его машинном изображении непостоянно, и число А записывается следующим образом: A = mApA, где mA – мантисса числа A; при представлении числа в компьютере мантисса должна удовлетворять ограничению 2-1 ≤ | mA | ≤ 1 – 2-n; n – количество разрядов для изображения мантиссы без знака; pA – порядок числа A. Формат машинного изображения числа с плавающей запятой содержит знаковые части и поля мантиссы и порядка.
Форматы данных и машинные коды чисел. Числа в компьютерах в двоичных кодах представляются как с фиксированной точкой или запятой, так и с плавающей точкой или запятой. Представление чисел в формате с фиксированной точкой получило название естественной формы числа, представление с плавающей точкой – нормальной формы числа. Под те или иные форматы отводится заранее известное количество разрядов (бит) -16,32 и т.д. Эта же величина может быть выражена в байтах, с учетом того, что 1 байт=8 бит. Представление чисел в формате с фиксированной точкой Для чисел в естественной форме положение точки жестко фиксируется: Для целых чисел точка располагается справа от младшего разряда: 00000000000000002 =010, 0111111111111111. 2=32767.10; Для правильных дробей – перед старшим разрядом: 0.0000000000000002=010, 0.0000000000000012=0.000 030 517 57810; Для смешанных дробей – в определенном месте, отделяющем целую часть числа от дробной: 000000.00000000002=0.010, 000001.00000000012=1.000 976 56310 Наиболее часто такая форма используется для целых чисел и целых чисел без знака. Количество разрядов может быть либо 16 (вид Н), либо 32 (вид F). Во всех форматах знак числа помещается в старший разряд и кодируется как 0 – знак положительного числа, либо как 1 – знак отрицательного числа. Знак отделяется от самого числа воображаемой точкой (рис.) Знак 214 213 21 20
Знак 230 229 21 20
Рис. 1.3. Форматы чисел с фиксированной точкой. Фиксированная точка позволяет задать число только в строго определенном диапазоне. В формате Н числа можно задавать От 1111 1111 1111 11112 до 0111 1111 1111 11112, т.е. от -3276710 до 3276710, или от (1 – 215 ) до (215-1). В формате F числа могут находиться в интервале От 1111 1111 1111 1111 1111 1111 1111 11112 До 0111 1111 1111 1111 1111 1111 1111 11112, т.е. от -7 F F F F F F F16 до 7 F F F F F F F16. Естественно, что представление в шестнадцатиричной системе для формы F предпочтительнее двоичной. Рассмотрим несколько примеров. ЗАДАЧИ 1.3.1. Представить в форматах Н и F числа -12710 и 12710 12710=1*26+1*25+1*24+1*23+1*22+1*21+1*20=0111 11112. А2Н=0000 0000 0111 11112, А2F=0000 00 7 F16. -12710=- (1*26+1*25+1*24+1*23+1*22+1*21+1*20)= -0111 11112. А2Н=1000 0000 0111 11112, А2F=8000 00 7 F16. 1.3.2. Определить, какие из следующих шестнадцатиричных чисел положительные, а какие отрицательные: 9754, 157, ADF, 7654AD и DFEA. Знак числа определяется по первой цифре: если она меньше 8 (1000), то число положительное, если значение от 8 до F, то отрицательное. Таким образом, получаем 9754<0, 157>0, ADF<0, 7654AD>0 и DFEA<0. Представление чисел в формате с плавающей точкой Для расширения диапазона рассматриваемых чисел по сравнению с естественной формой чисел используется формат с плавающей точкой или нормальная форма. Любое число в этом формате представляется, как А= ±maE±Pа, где ma - мантисса числа А; Е – основание системы счисления; ±Ра- порядок. Все эти величины – двоичные числа без знака. На рис. 2 приведен формат числа в нормальной форме. Старший разряд (нулевой) содержит знак мантиссы, первый разряд – знак порядка, 6 разрядов, со второго по седьмой, определяют значение порядка, а остальные – мантиссу. Нормальная форма может быть представлена коротким форматом Е (4 байта), длинным форматом D (8 байт) и повышенной точности (16 байт). Во всех этих формах представления первый байт остается постоянным, изменяется только область, отведенная под мантиссу. Знак ma Знак Ра Порядок Мантисса
0 1 2 … 7 8 31 Рис. 2. Нормальная форма числа При таком представлении чисел 0 может быть записан 64 разными способами, т.к. для этого подходят любые значения порядков 0*20=0*21=…=0*263. А другие числа могут иметь много различных форм записи. Например, 153610=3*29=6*28=…=768*21. Для однозначного представления чисел мантиссу нормализуют, т.е. накладывают ограничение 1/Е≤m<1. Это ограничение означает, что мантисса представляет собой правильную дробь и содержит хотя бы одну значащую цифру после запятой, отличную от нуля. Нормализованным представлением нуля является такое представление, при котором во всех разрядах находятся нули. При использовании нормальной формы для части компьютеров характерно смещение оси порядков в область положительных значений. В этом случае арифметические действия производятся над порядками, не имеющими знака. В нормальной форме под значение порядка отводится 7 разрядов, один из них знаковый. Таким образом, значение порядка может лежать в интервале 26≤Р≤26-1, т.е. от -64 до 63. Сместив порядок на 26=64=4016, мы получаем интервал возможных значений 0≤Р≤27-1=127. Смещенный порядок на 4016 называется характеристикой и вычисляется как Рx=P+40. Если характеристика равна 40, то порядок равен 0; если характеристика меньше 40, то порядок отрицателен; если больше – то положителен. ЗАДАЧИ 1.3.3. Представить в нормальной сетке Е числа 32001,510 и -32001,510 Представим числа в шестнадцатиричном коде 32001,510=7D01,816и -32001,510. =-7D01,816 Затем найдем нормализованные мантиссы и характеристики. m=7D01,816 ![]() при этом характеристика становится равной Рx=40+4=44 Знак mРx m
m=-7D01,816 ![]() при этом характеристика становится равной Рx=40+4=44 Знак mРx m
Контрольные вопросы: Как осуществляется перевод чисел делением на основание новой системы. Как пользуются при табличном методе перевода чисел? Что понимают под форматом данных? Как представляется число в формате с фиксированной точкой? Как представляется число в формате с плавающей точкой? |