Таблица 4 – Степени двойки для преобразования дробного числа
Степень |
|
|
|
|
|
|
|
Десятичный эквивалент |
0,5 |
0,25 |
0,125 |
0,0625 |
0,0 3125 |
0,015625 |
0,0078125 |
Пример. Перевести число 47D в двоичную систему счисления методом подбора.
47D = 32 + 8 + 4 + 2 +1 = 25 + 23 +22 + 21 + 20 = 101111B
Метод «цифра за цифрой».
Метод “цифра за цифрой” предусматривает последовательное получение цифр кода числа.
При этом для целого числа, а равно для целой части смешанного числа преобразование выполняется с использованием операции деления, а для дробного числа (дробной части смешанного числа) с использованием операции умножения. Преобразование для каждой части имеет свои особенности, поэтому соответствующие алгоритмы целесообразно рассмотреть отдельно.
Перевод целых чисел.
Чтобы перевести целое число из одной позиционной СС в другую, его надо последовательно делить на основание новой СС до тех пор, пока остаток не станет меньше делителя. Число в новой СС записывается из остатков от последовательного деления, причем последний остаток будет старшей цифрой нового числа.
П
ример
.
Выполнить,
используя метод “цифра
за цифрой”,
перевод целых десятичных чисел
,
соответственно, в двоичную, восьмеричную
и шестнадцатеричную системы счисления.
Перевод правильных дробей.
Для перевода правильных дробей необходимо исходную дробь умножить на основание СС до тех пор, пока в новой дроби не будет нужного количества цифр, которое определяется требуемой точностью вычислений.
Пример. Преобразовать десятичное число 0,375D в двоичную систему счисления.
0
.375
D
В 0.375D = 0.011В
0.
375
х 2
0. 750
х 2
1. 500
х 2
1. 000
При преобразовании смешанного числа его целая и дробная часть преобразуются соответственно методами “деления лесенкой“ и “последовательного умножения“. Далее из полученных целого и дробного чисел в новой системе счисления составляется (конкетенация) преобразованное смешанное число. Целая и дробная часть числа разделяются запятой.
Метод, основанный на специфическом соотношении основании систем счисления.
Практический интерес представляют взаимные преобразования в двоичной, восьмеричной и шестнадцатеричной системах счислениях, поскольку базисы 8 и 16 являются степенями базиса 2.
Перевод смешанного 8-ричного числа в двоичную СС
1.Каждая цифра восьменричного числа заменяется соответствующей по количественному эквиваленту двоичной триадой.
2.Незначащие старшие и младшие нулевые разряды соответственно в целой и дробной части двоичного числа для “ вписывания ” в заданную разрядную сетку могут быть отброшены.
3.Положение запятой и знак числа – сохраняются.
При переводе можно воспользоваться данными таблицы 5
Таблица 5– Соответствие “триада-цифра”
000 |
001 |
010 |
011 |
100 |
101 |
110 |
111 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
|
|
|
|
|
|
|
Пример.
Преобразовать
восьмеричное число
в
двоичную систему счисления.
Обратное преобразование основано на том же соотношении систем счисления.
Преобразование смешанного двоичного числа в числа в восьмеричную систему счисления
1. Двоичное число разбивается на группы из трех разрядов (триады). Если в старшей триаде менее чем три цифры, то вместо отсутствующих цифр записывают нули, которые дополняют триаду до полной.
2.Если в младшей триаде менее чем три цифры, то она дополняется справа нулями до полной триады
3.Комбинация цифр в каждой триаде рассматривается как целое число, которое заменяется соответствующей восьмеричной цифрой.
4.Полученное число – число в восьмеричной системе счисления.
Пример. Преобразовать в восьмеричную систему смешанное двоичное число 110110,11101102.
Целая часть:
Дробная часть:
Итог преобразования: 166,7348.
Преобразование смешанного двоичного числа в шестнадцатеричную систему счисления
1.Каждая цифра шестнадцатеричного числа заменяется соответствующей по количественному эквиваленту двоичной тетрадой.
2.Незначащие старшие и младшие нулевые разряды соответственно в целой и дробной части двоичного числа для “ вписывания ” в заданную разрядную сетку могут быть отброшены.
3.Положение запятой и знак числа – сохраняются.
При преобразовании можно воспользоваться данными таблицы 6.
Таблица 6 – Соответствие “ цифра-тетрада”
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0000 |
0001 |
0010 |
0011 |
0100 |
0101 |
0110 |
0111 |
Таблица 3.5 (продолжение)
8 |
9 |
A |
B |
C |
D |
E |
F |
1000 |
1001 |
1010 |
1011 |
1100 |
1101 |
1110 |
1111 |
Пример. Перевести смешанное шестнадцатеричное число в двоичную систему счисления.
Обратное преобразование основано на том же соотношении систем счисления.
Пример. Перевести дробное двоичное число в шестнадцатеричную систему счисления.
Младшая неполная тетрада исходного двоичного дробного числа дополнена до полной нулями, затем произведены замены тетрад по количественным эквивалентам.
1.4. Формы представления данных
В ЭВМ используются следующие формы представления данных:
- числа с фиксированной точкой (запятой);
- числа с плавающей точкой (запятой);
- десятичные числа;
- символьные данные.
При представлении числа X в форме с фиксированной точкой указываются знак числа (sign X) и модуль числа (mod X) в q-ичном коде. Иногда такую форму представления чисел называют естественной формой. Место точки (запятой) постоянно для всех чисел и в процессе решения задач не меняется. Знак положительного числа кодируется цифрой "0", а знак отрицательного числа – цифрой "1".
Код числа в форме с фиксированной точкой, состоящий из кода знака и q-ичного кода его модуля, называется прямым кодом q-ичного числа. Разряд прямого кода числа, в котором располагается код знака, называется знаковым разрядом кода. Разряды прямого кода числа, в которых располагается q-ичный код модуля числа, называются цифровыми разрядами кода. При записи прямого кода знаковый разряд располагается левее старшего цифрового разряда и обычно отделяется от цифровых разрядов точкой.
В общем случае разрядная сетка ЭВМ для размещения чисел в форме с фиксированной точкой показана на рис. (3.4,а). На рисунке показано n разрядов для представления целой части числа и m разрядов для – дробной части числа.
Рис.2. Формы представления чисел в ЭВМ
При заданных n и m диапазон изменения модулей чисел, коды которых могут быть представлены в данной разрядной сетке, определяется неравенством
q-m £ ïXï £ qn – q-m (1.11)
Для двоичной системы счисления это
2-m £ ïXï £ 2n – 2-m (1.12)
Соответственно максимальное и минимальное значения чисел определяются формулами:
Xmax = +(qn – q-m) (1.13)
Xmin = -(qn – q-m) (1.14)
Использование формы с фиксированной точкой для представления смешанных (с целой и дробной частью) чисел в ЭВМ практически не встречается. Как правило, используются ЭВМ либо с дробной арифметикой (n = 0), либо с целочисленной арифметикой (m = 0).
Форма представления чисел с фиксированной точкой упрощает аппаратную реализацию ЭВМ, уменьшает время выполнения машинных операций, однако при решении задач на машине необходимо постоянно следить за тем, чтобы все исходные данные, промежуточные и окончательные результаты находились в допустимом диапазоне представления чисел. Если этого не соблюдать, то возможно переполнение разрядной сетки, и результат вычислений будет неверным. От этих недостатков в значительной степени свободны ЭВМ, использующие форму представления чисел с плавающей точкой, или нормальную форму.
В нормальной форме число представляется в виде произведения
X = m qp ,
где: m – мантисса числа;
q – основание системы счисления;
p – порядок.
Для задания числа в нормальной форме требуется задать знаки мантиссы и порядка, их модули в q-ичном коде, а также основание системы счисления. Нормальная форма представления чисел неоднозначна, ибо взаимное изменение m и p приводит к перемещению точки (запятой). Отсюда произошло название формы представления чисел.
Например, десятичное число 73,28 в нормальной форме может быть записано в следующих вариантах:
X(10) = 73,28·100 = 7,328·101 = 0,7328·102 = 0,07328·103 = ... = 732,8·10-1 и т. д.
Для однозначности представления чисел в ЭВМ используется нормальная нормализованная форма, в которой положение точки всегда задается перед значащей цифрой мантиссы, т. е. выполняется условие
q-1 £ ïmï< q0 = 1 (1.15)
В общем случае разрядную сетку ЭВМ для размещения чисел в нормальной форме можно представить в виде, изображенном на рис. 1. б. Разрядная сетка содержит:
- разряд для знака мантиссы;
- r цифровых разрядов для q-ичного кода модуля мантиссы;
- разряд для кода знака порядка;
- s разрядов для q-ичного кода модуля порядка.
Диапазон представления модулей чисел в нормальной нормализованной форме определяется следующим неравенством:
(1.16)
В конкретной ЭВМ диапазон представления чисел с плавающей точкой зависит от основания системы и числа разрядов для представления порядка.
Примерами применяемых форм чисел с плавающей точкой с различными основаниями системы счисления являются:
X = m·2 p , где 1/2£ïmï<1;
X = m·8 p , где 1/8£ïmï<1;
X = m·16 p , где 1/16£ïmï<1.
При этом у одинаковых по длине форматов чисел с плавающей запятой с увеличением основания системы счисления существенно расширяется диапазон представляемых чисел.
Точность вычислений при использовании формата с плавающей точкой определяется числом разрядов мантиссы r. Она увеличивается с увеличением числа разрядов.