49648 (Деление двоичных чисел в прямом, обратном и дополнительном кодах), страница 2
Описание файла
Документ из архива "Деление двоичных чисел в прямом, обратном и дополнительном кодах", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "49648"
Текст 2 страницы из документа "49648"
В шестнадцатеричной системе для изображения чисел употребляется 16 цифр от 0 до 15. При этом, чтобы одну цифру не изображать двумя знаками, приходится вводить специальные обозначения для цифр, больших девяти. Обозначим первые десять цифр этой системы цифрами от 0 до 9, а старшие пять цифр - латинскими буквами: десять - А, одиннадцать - В, двенадцать - С, тринадцать - D, четырнадцать - Е, пятнадцать - F. Записи произвольного числа в шестнадцатеричной системе в виде последовательности цифр:
где γi может принимать любые из 16 значений от 0 до F (пятнадцать), соответствует разложение числа х по степеням числа 16 с указанными ниже коэффициентами:
Например, шестнадцатеричное число:
Основание любой системы счисления, записанное в этой же системе, имеет вид 10 (число два в двоичной системе есть 10, число восемь в восьмеричной системе есть 10 и т.д.). Общие методы перевода чисел из одной системы в другую будут изложены в следующем параграфе. Здесь мы ограничимся только рассмотрением правил преобразования восьмеричных и шестнадцатеричных чисел в двоичные и наоборот. Эти правила исключительно просты, поскольку основания восьмеричной и шестнадцатеричной систем есть целые степени числа два:
Для перевода восьмеричного числа в двоичную форму достаточно заменить каждую цифру восьмеричного числа соответствующим трехразрядным двоичным числом. Таким же образом для перехода от шестнадцатеричной системы к двоичной каждая цифра шестнадцатеричного числа заменяется соответствующим четырехразрядным двоичным числом. При этом отбрасывают ненужные нули. Например, восьмеричное число 305,4 в двоичной форме записи имеет вид:
а шестнадцатеричное число 7В2,Е в двоичной системе запишется следующим образом:
Для перехода от двоичной к восьмеричной (или шестнадцатеричной) системе поступают следующим образом: двигаясь от запятой влево и вправо, разбивают двоичное число на группы по три (четыре) разряда, дополняя при необходимости нулями крайние левую и правую группы. Затем каждую группу из трех (четырех) разрядов заменяют соответствующей восьмеричной (шестнадцатеричной) цифрой.
Приведем примеры:
а) Перевод двоичного числа 1101111001, 1101 в восьмеричное:
б) Перевод двоичного числа 11111111011,100111 в шестнадцатеричное:
Двоичные числа, наборы цифр которых разбиты на группы по три (четыре) разряда, а крайние группы при необходимости дополнены нулями, можно считать восьмеричными (шестнадцатеричными) числами, в которых цифра каждого разряда записана в двоичной системе
в виде трех (четырех) разрядного двоичного числа. Такие формы записи чисел носят название двоично-восьмеричной и двоично-шестнадцатеричной системы. Они называются также двоично-кодированными системами.
В вычислительных системах также применяются специальные формы кодирования десятичных чисел. Этот вопрос будет рассмотрен ниже.
В настоящее время для большинства вычислительных машин основной системой счисления является двоичная. Двоичная система и двоичный алфавит используются во многих машинах для представления и хранения чисел и команд и при выполнении арифметических и логических операций.
Восьмеричная и шестнадцатеричная системы используются при составлении программ для более короткой и удобной записи двоичных кодов — команд, так как эти системы не требуют специальных операций для перевода в двоичную систему.
Числовые данные, необходимые для решения задачи, вводятся в машину обычно в десятичной системе в виде специальных кодов. Перевод десятичных чисел в двоичные выполняется машиной.
Результаты расчета выводятся из машины в десятичной системе. Перевод данных из двоичной системы в десятичную производится машиной.
При выводе из запоминающего устройства команд они печатаются в шестнадцатеричной (восьмеричной) системе. Числа также могут выводиться в шестнадцатеричной (восьмеричной) системе.
Двоичная арифметика
Правила выполнения арифметических действий над двоичными числами задаются таблицами двоичных сложения, вычитания и умножения:
Таблица двоичного сложения | Таблица двоичного вычитания | Таблица двоичного умножения |
0+0=0 0+1=1 1+0=1 1+1=0 + +единица переносится в старший разряд | 0-0=0 1-0=1 1-1=0 0-1=1 + +единица занимается из старшего разряда | 0*0=0 0*1=0 1*0=0 1*1=1 |
Правила арифметики во всех позиционных системах аналогичны. Поэтому сложение двух чисел в двоичной системе можно выполнять столбиком, начиная с младшего разряда, подобно тому, как мы это делаем в десятичной системе. В каждом разряде в соответствии с правилами, указанными таблицей двоичного сложения, производится сложение двух цифр слагаемых или двух этих цифр и единицы, если имеется перенос из соседнего младшего разряда. В результате получается цифра соответствующего разряда суммы и, возможно, также единица переноса в старший разряд. Приведем пример на сложение двух двоичных чисел.
Переносы:
Справа показано сложение тех же чисел, представленных в десятичной системе.
Вычитание чисел в двоичной системе выполняется подобно вычитанию в десятичной системе. При вычитании в данном разряде при необходимости занимается единица из следующего старшего разряда. Эта занимаемая единица равна двум единицам данного разряда. Занимание производится каждый раз, когда цифра в разряде вычитаемого больше цифры в том же разряде уменьшаемого. Поясним сказанное примером:
Умножение двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. В соответствии с таблицей двоичного умножения каждое частичное произведение равно нулю, если в соответствующем разряде множителя стоит нуль, или равно множимому, сдвинутому на соответствующее число разрядов влево, если в разряде множителя стоит единица. Таким образом, операция умножения многоразрядных двоичных чисел сводится к операциям сдвига и сложения. Положение запятой определяется так же, как при умножении десятичных чисел. Сказанное поясняется примером:
1
0111
10101
____________
10111
00000
+ 10111
00000
10111
________________________
111100011
Деление чисел в двоичной системе производится аналогично делению десятичных чисел.
Достаточно рассмотреть деление двух целых двоичных чисел, так как делимое и делитель всегда могут быть приведены к такому виду путем перенесения запятой в делимом и делителе на одинаковое число разрядов и дописывания нулей в недостающие справа разряды.
Особенности выполнения деления двоичных чисел поясняются примером:
1100,011 : 10,01 = ?
1100011 10010
10010 101,1
____________________
11011
10010
______________
10010
10010
______________
00000
Благодаря простоте правил двоичного сложения, вычитания и умножения применение в ЦВМ двоичной системы счисления позволяет упростить схемы арифметических устройств.
Правила перевода
Перейдем к рассмотрению правил перевода чисел из, одной системы счисления в другую.
Необходимость в таких преобразованиях возникает из-за того, что ЦВМ работает в двоичной системе счислений, программа записывается в шестнадцатеричной или восьмеричной системе, а подготовка исходных данных для расчетов и выдача результатов расчета из машины производятся в десятичной системе.
Обычно преобразования чисел из одной системы счисления в другую выполняются автоматически устройствами машины.
Однако при программировании задач, а также при вмешательстве оператора в процесс решения задачи на ЦВМ может возникать необходимость ручного перевода отдельного числа или небольшой группы чисел из одной системы в другую.
Правила перевода зависят от того, какая арифметика используется при выполнении арифметических операций, связанных с преобразованием чисел, — арифметика той системы счисления, в которой представлено исходное число, или арифметика системы счисления, в которую число переводится.
Пусть необходимо перевести число y, представленное в системе счисления с основанием s:
в h-систему, выполняя нужные для этого арифметические действия в новой h-системе. Для этого достаточно число представить в виде соответствующей суммы степеней s:
в которой основание s и все коэффициенты εi выражены в новой h-системе, и выполнить в h-системе все необходимые для вычисления этой суммы действия.
Пример 1. Перевести в десятичную систему шестнадцатеричное число у = (2Е5,А)16 . Для этого представляют у в виде:
Пример 2. Перевести в десятичную систему двоичное число z = (11011,101)2 :
Рассмотрим теперь перевод числа из s-системы в h-систему посредством арифметических операций исходной s-системы. В этом случае правила для перевода целых чисел и дробей различны.
Перевод целых чисел
Пусть целое число у, представленное в s-системе, требуется перевести в h-систему. Искомая запись числа у в h-системе имеет вид:
Разделив у на h, получим:
Отсюда
где у1 есть частное от деления числа у на основание системы h, а младшая цифра искомого представления числа у в h-системе есть остаток от этого деления.
Если теперь разделить у1 на h, то получим:
В силу
остаток от второго деления есть цифра σ2 следующего разряда в представлении числа у в h-системе и т.д. Таким образом, получаем правило: для перевода целого числа из s-системы счисления в h-систему нужно последовательно делить это число и получаемые частные на Основание h новой системы, представленное в старой s-системе, до тех пор, пока частное не станет меньше h. Старшей цифрой в записи числа в h-системе служит последнее частное, а следующие за ней цифры дают остатки, выписываемые s последовательности, обратной их получению.
Перевод дробных чисел
Перевод в h-систему правильной дроби z представленной в системе счисления с основанием s, означает запись этой дроби в виде: