Пиши Дома Нужные Работы

Обратная связь

Перевод чисел из одной системы счисления в другую

 

Перевод чисел в десятичную систему осуществляется путём составления степенного ряда (2) с основанием той системы, из которой число переводится. Затем подсчитывается значение суммы.

Пример.

10101101,101(2) = 1·27 + 0·26 + 1·25 + 0·24 + 1·23 + 1·22 + 0·21 + 1·20 + +1·2-1 + 0·2-2 + 1·2-3 = 173,625(10).

Перевод целых десятичных чисел в недесятичную систему счисления осуществляется последовательным делением десятичного числа на основании той системы, в которую оно переводится, до тех пор, пока не получится частное, меньшее этого основания. Число в новой системе записывается в виде остатков деления, начиная с последнего.

Перевод правильных дробей из десятичной системы счисления в недесятичную.Для перевода правильной десятичной дроби в другую систему эту дробь надо последовательно умножать на основание той системы, в которую она переводится. При этом умножаются только дробные части. Дробь в новой системе записывается в виде целых частей произведений, начиная с первого.

Замечание. Конечной десятичной дроби может соответствовать бесконечная (периодическая) дробь в недесятичной системе счисления. В этом случае количество знаков в представлении дроби в новой системе берётся в зависимости от требуемой точности.

Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную.

Необходимо отметить, что целые числа остаются целыми, а правильные дроби – дробями в любой системе счисления.

Для перевода восьмеричного или шестнадцатеричного числа в двоичную формудостаточно заменить каждую цифру этого числа соответствующим трёхразрядным двоичным числом (триадой) – для восьмеричной системы счисления или четырёхразрядным двоичным числом (тетрадой) – для шестнадцатеричной системы счисления (табл. 1), после чего отбрасывают незначащие нули в старших и младших разрядах.



Для перехода от двоичной к восьмеричной (шестнадцатеричной) системе поступают следующим образом: двигаясь от десятичной точки влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем триаду (тетраду) заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой (табл. 1).

Таблица 1

Представление чисел в различных системах счисления

Десятичная, основание 10 (Dec) Римская Двоичная, основание 2 (Bin) Восьмеричная, основание 8 (Oct) Двоичная (триады) Шестнадцатеричная, основание 16 (Hex) Двоичная (тетрады)
 
I
II
III
IV
V
VI
VII
VIII 001 000
IX 001 001
X 001 010 A
XI 001 011 B
XII 001 100 C
XIII 001 101 D
XIV 001 110 E
XV 001 111 F
XVI 010 000 0001 0000
XVII 010 001 0001 0001

Перевод из восьмеричной в шестнадцатеричную систему и обратно удобно осуществлять через двоичную систему с помощью триад и тетрад.

 

Двоичная арифметика

 

Правила выполнения арифметических действий над двоичными числами такие же, как и в десятичной системе, и задаются таблицами двоичного сложения, вычитания и умножения (табл. 2). Таблицы для восьмеричной и шестнадцатеричной систем счисления приведены в приложении к пособию [9].

Таблица 2

Арифметические действия над двоичными числами

Таблица двоичного сложения Таблица двоичного вычитания Таблица двоичного умножения
0+0=0 0+1=1 1+0=1 1+1=10 0-0=0 1-0=1 1-1=0 10-1=1 0×0=0 0×1=0 1×0=0 1×1=1

При сложении двоичных чисел производится сложение цифр слагаемых в каждом разряде и единиц переноса из соседнего младшего разряда, если они имеются. При этом необходимо учитывать, что в двоичной системе переполнение разряда наступает при количестве единиц, больше либо равным двум. В случае переполнения нужно вычесть из текущего разряда число, равное основанию системы (в данном случае – двойку), и добавить единицу переноса в следующий старший разряд.

При вычитании двоичных чисел, аналогично вычитанию десятичных, может возникнуть необходимость займа единицы из предыдущего старшего разряда. Эта занимаемая единица переносится в текущий разряд как двойка (количество единиц, равное основанию).

Операции умножения и деления в двоичной системе счисления аппаратно реализовать проще, чем в десятичной системе. Их выполнение сводится к операциям сложения (вычитания) и сдвигу.

 

Представление чисел в ЭВМ

 

В цифровых ЭВМ числовая информация представляется в двух формах:

- с фиксированной точкой (естественная форма);

- с плавающей точкой (экспоненциальная форма).

При представлении чисел с фиксированной точкой подразумевается, что положение точки, разделяющей число на целую и дробную части, неизменно для всех чисел. Эта форма наиболее проста, естественна, но имеет небольшой диапазон представления чисел и поэтому не всегда приемлема при вычислениях. В современных ЭВМ естественная форма используется, например, для представления целых чисел (дробная часть числа всегда отсутствует), денежных сумм (дробная часть всегда составляет четыре знака).

Представление с плавающей точкой любого числа N в общем виде описывается следующей формулой:

N = ± M × p±k,(3.3)

где ±M – мантисса (дробная часть) числа; p – основание системы счисления; ±k – порядок (целое число), при этом положительный знак мантиссы и порядка может опускаться, а при указании порядка в десятичной системе принято использовать символ Е. Например, десятичное число с фиксированной точкой 123,45 может быть представлено в форме с плавающей точкой как 0,12345 × 103, или, как это принято, 1,2345Е+02. Такая форма представления имеет огромный диапазон отображения чисел и является основной в современных ЭВМ.

Для представления положительных и отрицательных чисел в машинах используются специальные коды: прямой, обратный и дополнительный. Причём два последних позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с отрицательным числом; дополнительный код обеспечивает более быстрое выполнение операций при помощи сумматора, поэтому в ЭВМ применяется чаще именно он. Рассмотрим правила кодирования на примере целых чисел.

Для перевода числа в прямой код знак числа опускается, а в старший (знаковый) разряд ставится 0, если число положительное, и 1 – если число отрицательное. Младшие разряды кода являются двоичным представлением модуля числа. Оставшиеся разряды кода заполняются нулями. Отметим, что перевод положительных чисел в прямой, обратный и дополнительный код не изменяет изображения этих чисел (табл. 3).

Для перевода отрицательного числа в обратный код необходимо все разряды прямого кода, кроме знакового, инвертировать (заменить нули единицами, а единицы – нулями).

Для перевода отрицательного числа в дополнительный код необходимо к младшему разряду его обратного кода прибавить единицу.

Перевод отрицательного числа из дополнительного кода в прямой осуществляется в обратной последовательности: сначала вычитается единица, затем инвертируются разряды. Отметим, что положительное число (0 в старшем разряде) обратному переводу не подвергается, и имеет одинаковую запись как в прямом коде, так и в дополнительном.

 

Таблица 3

Примеры представления целых чисел

в шестнадцатиразрядных двоичных кодах

Число Прямой код Обратный код Дополнительный код
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0001 0000 0000 0000 0001 0000 0000 0000 0001
-1 1000 0000 0000 0001 1111 1111 1111 1110 1111 1111 1111 1111
0000 0000 0001 0100 0000 0000 0001 0100 0000 0000 0001 0100
-20 1000 0000 0001 0100 1111 1111 1110 1011 1111 1111 1110 1100

 

При написании программ важно определить диапазоны значений и формы представления обрабатываемой информации. Например, в языках программирования семейства BASIC (Бейсик) типы переменных INTEGER и LONG используются, соответственно, для хранения целых чисел со знаком в шестнадцатиразрядном (два байта, или полуслово) и тридцатидвухразрядном (четыре байта, или машинное слово) дополнительном коде.

Знак числа фиксируется в нулевом бите первого байта (крайний левый бит). Цифровая часть числа хранится в остальных битах поля числа, причём младший двоичный разряд числа находится в последнем, правом бите последнего байта. Переменные типа SINGLE и DOUBLE используются для хранения чисел с плавающей точкой в четырёх или восьми байтах (двойное слово) соответственно.

Знак хранится в нулевом бите, биты 1–7 отводятся под порядок числа, остальные биты используются для разрядов мантиссы. Как правило, мантисса хранится в нормальном виде, т.е. первым её разрядом не является 0.

Для упрощения операций над n-разрядными порядками чисел с плавающей запятой используется смещённый код, или так называемый код с избытком 2n-1. То есть значения диапазона [-2n-1; 2n-1-1] смещаются в диапазон [0; 2n-1], что позволяет работать с порядками как с целыми без знака.

В различных преобразовательных устройствах (для кодирования положений валов, дисков и т.п.) широко используется код Грея (табл. 4). Главная особенность кода – соседние кодовые слова различаются только в одном разряде. Поэтому при последовательном переходе от числа к числу погрешность считывания не превосходит единицы младшего разряда независимо от того, в каком разряде имела место неопределённость. Для перевода числа из кода Грея в обычный двоичный код все нули и первую единицу со стороны старших разрядов оставляют без изменения. Каждый последующий разряд либо инвертируется, если число предшествующих единиц нечётно, либо остаётся без изменения.

 

Таблица 4

Представление десятичных чисел в четырёхразрядном коде Грея

Десятичное число Двоичный код Код Грея Десятичное число Двоичный код Код Грея

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.