Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатеричную
Перевод чисел из десятичной системы в двоичную, восьмеричную и шестнадцатеричную более сложен и может осуществляться различными способами. Рассмотрим один из алгоритмов перевода на примере чисел из десятичной системы в двоичную, при этом необходимо учитывать, что алгоритмы перевода целых и правильных дробей будут различаться.
Алгоритм перевода целых десятичных чисел в двоичную систему счисления.
Пусть Ацд– целое десятичное число, разложим его в ряд по основанию 2. Тогда в его записи в развернутой форме отсутствуют отрицательные степени основания, т.е. числа 2:
.
На первом шаге разделим число Ацд на основание двоичной системы, т.е. на 2. Частное от деления будет равно:
,
а остаток равен
.
На втором шаге целое частное опять
разделим на 2, остаток от деления будет
.
Если продолжать этот процесс деления, то после n-го шага получим последовательность остатков:
.
Легко заметить, что их последовательность
совпадает с обратной последовательностью
цифр целого двоичного числа, записанного
в свернутой форме:
.
Таким образом, достаточно записать остатки в обратной последовательности, чтобы получить искомое двоичное число.
Алгоритм перевода целого десятичного числа в двоичное будет следующим:
Последовательно выполнять деление исходного целого десятичного числа и получаемых целых частных на основание системы (на 2) до тех пор, пока не получим частное меньше делителя, т.е. меньше 2.
Получить искомое двоичное число, для чего записать полученные остатки в обратной последовательности.
В качестве примера рассмотрим перевод десятичного числа 19 в двоичную систему, записывая результаты в таблицу:
|
Десятичное число/ целое частное |
Делитель (основание системы) |
Остаток |
Цифры двоичного кода |
|
19 |
2 |
1 |
a0 |
|
9 |
2 |
1 |
a1 |
|
4 |
2 |
0 |
a2 |
|
2 |
2 |
0 |
a3 |
|
1 |
2 |
1 |
a4 |
В результате получаем двоичное число:
.
Алгоритм перевода десятичных дробей в двоичную систему счисления.
Пусть Адд– десятичная дробь, разложим ее в ряд по основанию 2. Тогда в его записи в развернутой форме отсутствуют положительные степени основания, т.е. числа 2:
![]()
На первом шаге умножим число Адд на основание двоичной системы, т.е. на 2. Произведение будет равно:
![]()
Целая часть равна a-1, именно это число и является значением первого дробного разряда двоичного числа.
На втором шаге оставшуюся дробную часть
опять умножим на 2, получим целую часть,
равную
,
именно это число и является значением
второго дробного разряда двоичного
числа.
Описанный процесс необходимо продолжать до тех пор, пока в результате умножения не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений.
Легко заметить, что последовательность
полученных чисел совпадает с
последовательностью цифр дробного
двоичного числа, записанного в свернутой
форме:
.
Алгоритм перевода десятичной дроби в двоичную будет следующим:
Последовательно выполнять умножение исходной десятичной дроби и получаемых дробей на основание системы (на 2) до тех пор, пока не получим нулевую дробную часть или не будет достигнута требуемая точность вычислений.
Получить искомую двоичную дробь, записав полученные целые части произведения в прямой последовательности.
В качестве примера, рассмотрим перевод десятичной дроби 0,75 в двоичную, записывая результаты в таблицу:
|
Десятичная дробь/ дробная часть произведения |
Множитель (основание системы) |
Целая часть произведения |
Цифры двоичного кода |
|
0,75 |
2 |
1 |
a-1 |
|
0,50 |
2 |
1 |
a-2 |
|
0,00 |
2 |
|
|
В результате получаем двоичную дробь:
.
ТАБЛИЦА ПЕРЕВОДА ДЕСЯТИЧНЫХ ЧИСЕЛ В ДВОИЧНЫЕ ЧИСЛА
|
ДЕСЯТИЧНЫЕ |
ДВОИЧНЫЕ |
|
|
0 |
|
|
1 |
|
|
10 |
|
|
11 |
|
|
100 |
|
|
101 |
|
|
110 |
|
|
111 |
|
|
1000 |
|
|
1001 |
|
|
1010 |
АРИФМЕТИЧЕСКИЕ ОПЕРАЦИИ В ПОЗИЦИОННЫХ СИСТЕМАХ СЧИСЛЕНИЯ
Арифметические операции во всех позиционных системах счисления выполняются по одним и тем же хорошо известным правилам.
СЛОЖЕНИЕ.Рассмотрим сложение чисел в двоичной системе счисления. В его основе лежит таблица сложения одноразрядных двоичных чисел:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 10.
Важно обратить внимание на то, что при сложении двух единиц происходит переполнение разряда и производится перенос в старший разряд. Переполнение разряда наступает тогда, когда значение числа в нем становится равным или большим основания. Для двоичной системы счисления, это число равно двум. Сложение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей сложения с учетом возможных переносов из младших разрядов в старшие. В качестве примера сложим в столбик двоичные числа 1102и 112.
|
+ |
1102 |
|
112 | |
|
|
10012 |
Проверим правильность вычислений сложением в десятичной системе счисления. Переведем двоичные числа в десятичную систему счисления и затем их сложим.

Теперь переведем результат двоичного сложения в десятичное число.
![]()
Сравнив результаты, делаем вывод – сложение выполнено правильно.
ВЫЧИТАНИЕ.Рассмотрим вычитание двоичных чисел. В его основе лежит таблица вычитания одноразрядных двоичных чисел. При вычитании из меньшего числа (0) большего (1) производится заем из старшего разряда. В таблице заем обозначен 1 с чертой.

Вычитание многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей вычитания с учетом возможных заемов в старших разрядах. В качестве произведем вычитание двоичных чисел 1102и 112.
-
-
1102
112
112
УМНОЖЕНИЕ.В основе умножения лежит таблица умножения одноразрядных двоичных чисел:

Умножение многоразрядных двоичных чисел происходит в соответствии с вышеприведенной таблицей умножения по обычной схеме, применяемой в десятичной системе счисления с последовательным умножением множимого на очередную цифру множителя. В качестве примера произведем умножение двоичных чисел 1102и 112.
-
х
110
11
110
110
10010
ДЕЛЕНИЕ.Операция деления выполняется по алгоритму, подобному алгоритму выполнения операции деления в десятичной системе счисления. В качестве примера произведем деление двоичного числа 1102на 112.
-
-
1102
112
11
102
0
Аналогично, можно выполнять арифметические действия в восьмеричной и шестнадцатеричной системах счисления. Необходимо только помнить, что перенос в следующий разряд при сложении и заем из старшего разряда при вычитании определяется величиной основания системы счисления.
Для проведения арифметических операций над числами, представленными в различных системах счисления, необходимо предварительно перевести их в одну систему.
ПРЕДСТАВЛЕНИЕ ЧИСЛОВОЙ ИНФОРМАЦИИ В КОМПЬЮТЕРЕ.
Вся информация в персональном компьютере представлена в виде двоичных кодов. Компьютер использует две цифры, так как до сих пор не удается создать надежно работающие технические устройства, которые могли бы со стопроцентной надежностью сохранять и распознавать большее, чем два, количество различных состояний (цифр).
Числа могут быть записаны в естественнойилиэкспоненциальнойформе.
Естественной формой называется обычная
запись чисел, например, 3,14, 2005 и т.д.
Экспоненциальная форма чисел обычно
используется для записи либо очень
больших, либо очень маленьких чисел,
которые в обычной естественной форме
содержат большое количество незначащих
нулей (например,![]()
).
В языках программирования и в компьютерных приложениях при записи чисел в экспоненциальной форме вместо основания системы счисления 10 пишут букву Е, вместо запятой – точку и знак умножения не ставится (например, 1000000 = 1Е6, 0,000001 = 0.1Е-5).
В вычислительных машинах применяют две формы представления двоичных чисел:
естественная форма, или форма с фиксированной запятой (точкой);
нормальная форма (экспоненциальная), или форма с плавающей запятой, отделяющей целую часть от дробной.
С плавающей запятой каждое число
изображается в виде двух групп чисел.
Первая называется мантиссой, а
втораяпорядком. При этом
абсолютная величина мантиссы должна
быть меньше 1, а порядок – целым числом
и иметь запись соответствующую форме:
,
гдеМ– мантисса числа
;r– порядок числа (r– целое число);Р– основание системы
счисления. Нормальная форма представления
имеет огромный диапазон значений
отображения чисел и является основной
в современных ЭВМ. Числа в экспоненциальной
форме могут быть записаны не только в
десятичной, но и в двоичной, и в любой
другой системе счисления.
ПОНЯТИЕ КОДИРОВАНИЕ.
Кодирование – это отображение дискретного сообщения в виде определенных сочетаний символов, это процесс преобразования одного набора знаков в другой набор знаков.Совокупность правил, по которым выполняется кодирование, называетсякодом. Другими словами, код – это правило отображения информации. Отображение чисел в той или иной системе счисления – это тоже своего рода кодирование. Благодаря кодированию компьютер может обрабатывать различного рода информацию: числовую, текстовую, графическую, звуковую, видео. Все эти виды информации после кодировки приводятся к одному виду – последовательности электрических импульсов, в которой наличие импульса обозначается единицей, а его отсутствие – нулем. Кодирование текстовой информации производится с помощьюкодовой таблицы, которая устанавливает соответствие между символами алфавита и двоичными числами. Эти числами называютсякодами символови отвечают внутреннему представлению символов в компьютере. Кодирование представляет собой способ хранения и передачи информации, форму представления ее на носителе.
