Перевод чисел из одной позиционной системы счисления в другую. Исходя из, вышеизложенного, запишем правило перевода целых чисел из одной позиционной системы в другую: для перевода целого числа из одной позиционной системы
Исходя из, вышеизложенного, запишем правило перевода целых чисел из одной позиционной системы в другую: для перевода целого числа из одной позиционной системы в другю его надо последовательно делить на основание новой системы до тех пор„ пока не получится частное, у которого целая часть равна 0. Число в новой системе счисления записывается из остатков от последовательного деления, причем последний остаток будет старшей цифрой нового числа. Заметим, что вычисления, осуществляемые по этому правилу, должны выполняться в исходной системе счисления.
Пример 1.Перевести из десятичной системы в двоичную целое число Х= 118
Решение. Производим последовательное деление исходного числа:
Для перевода двоичного числа в восьмеричную систему его следует разбить на триады, начиная от запятой, а затем каждую триаду заменить ее восьмеричным эквивалентом. Если последние (левая и правая) триады получатся неполными, то их следует дополнить нулями.
Пример 3.Перевести двоичное число Х= 1110110,011(2)в восьмеричную систему счисления.
О т в е т: X=001 110 110, 011(2)= 166,3(8).
Пример 4. Перевести десятичное число X=118,375(10) в шестнадцатеричную.
Решение. Перевод в шестнадцатеричную систему:
Для перевода двоичного числа в шестнадцатеричную систему его следует разбить на тетрады, начиная от запятой, а затем каждую тетраду заменить шестнадцатеричным ее эквивалентом. Если последние (левая и правая) тетрады получатся неполными, то их следует дополнить нулями.
Пример 5.Перевести двоичное число Х= 1110110(2)в шестнадцатеричную систему счисления.
Если же перевод осуществляется из недесятичной системы, то ввиду ее непривычности для человека производство в ней арифметических действий значительно затруднено. В этом случае для преобразования чисел можно воспользоваться формулой (1) При этом расчеты ведутся в новой системе счисления.
Пример 6.Перевести из двоичной системы в десятичную целое число
Решение. Записываем число X в виде суммы произведений степеней основания на соответствующую цифру по формуле (1.4) в десятичной системе счисления, после чего производим необходимые расчеты (умножение и сложение полученных произведений):
Х= 1110110
X= 1110110
Восьмеричный и шестнадцатеричный коды используются в основном для более краткой формы записи двоичных чисел и самостоятельного применения не имеют.
Системы счисления. Перевод чисел из одной системы счисления в другую
Система счисления
Система счисления — совокупность приемов и правил для записи чисел цифровыми знаками.
Любая предназначенная для практического применения система счисления должна обеспечивать:
Типы систем счисления:
Непозиционные системы счисления (СС) характеризуются тем, что для представления какого-либо числа используется определенный набор символов, который изменяется при изменении диапазона представляемых чисел. В качестве типичного примера непозиционной системы счисления обычно приводится римская система счисления, в которой для небольших чисел и коррекции чисел с большим значением используется символ I. Для представления больших чисел приходится вводить новые символы (V, X, C и т.д.).
В позиционных системах счисления значение единицы цифры каждого разряда числа имеет постоянный вес. Этот вес определяется позицией, которую разряд занимает по отношению к запятой:
С этой точки зрения, римская система счисления не является чисто непозиционной, т.к., например, число IV равно четырем, а число VI – шести.
Любая позиционная система счисления характеризуется своим основанием.
Основание (базис) p-й позиционной системы счисления – количество знаков, или символов, используемых для изображения числа в данной системе:
| Десятичное число | Эквиваленты в некоторых других системах счисления | |||
|---|---|---|---|---|
| p = 2 | p = 5 | p = 8 | p = 16 | |
| 0 | 0000 | 00 | 00 | 0 |
| 1 | 0001 | 01 | 01 | 1 |
| 2 | 0010 | 02 | 02 | 2 |
| 3 | 0011 | 03 | 03 | 3 |
| 4 | 0100 | 04 | 04 | 4 |
| 5 | 0101 | 10 | 05 | 5 |
| 6 | 0110 | 11 | 06 | 6 |
| 7 | 0111 | 12 | 07 | 7 |
| 8 | 1000 | 13 | 10 | 8 |
| 9 | 1001 | 14 | 11 | 9 |
| 10 | 1010 | 20 | 12 | A |
| 11 | 1011 | 21 | 13 | B |
| 12 | 1100 | 22 | 14 | C |
| 13 | 1101 | 23 | 15 | D |
| 14 | 1110 | 24 | 16 | E |
| 15 | 1111 | 30 | 17 | F |
| 16 | 10000 | 31 | 18 | 10 |
Для любой позиционной системы счисления основание изображается числом 10 в данной системе.
В общем виде число А в p-ной позиционной системе счисления представляется в виде:
![]() | ( 6.1) |
При k = Const получается число, носящее, в общем случае, название числа с фиксированной точкой, но имеющее две разновидности:
k=0: правильная дробь – число с фиксированной запятой, то есть правильную дробь
k=r: целое число – число с фиксированной точкой, то есть целое число
При k ≠Const получается число с плавающей запятой.
Представление в виде числа с фиксированной точкой (или ее разновидности – с фиксированной запятой) влияет на диапазон представляемых чисел и их точность.
Микропроцессоры, которые в настоящее время служат основой для построения ЭВМ различных типов, содержат в своем составе как блоки, предназначенные для обработки целых чисел (СPU –CentralPointUnit), так и блоки для обработки чисел с плавающей запятой (FPU – FloatingPointUnit, в силу англоязычной специфики представления дробных чисел целая часть от дробной отделяется не запятой, а точкой). Представление чисел с плавающей запятой включает в себя порядок (целое число) и мантиссу (правильную дробь), которые обрабатываются в отдельных блоках FPU. Поэтому изучение особенностей представления и обработки каждого из типов чисел чрезвычайно важно для изучения устройства ЭВМ, выбора необходимого формата данных как с точки зрения требуемого диапазона, так и допустимой погрешности.
Обсуждение способов кодирования и различных алгоритмов обработки чисел мы будем проводить, в основном, на примере чисел с фиксированной запятой, так как именно в этом формате представляются мантиссы чисел с плавающей запятой, что сказывается на обработке чисел с плавающей запятой в целом. В свою очередь использование чисел с плавающей запятой играет в настоящее время весьма важную роль в процессе человеко-машинного общения, снимая с программиста во многих случаях обязанность по отслеживанию диапазона и точности используемых и получаемых данных.
К тому же числа с фиксированной запятой играют заметную самостоятельную роль в специализированных компьютерах, работающих в определенном диапазоне чисел, повышая при этом быстродействие таких вычислений, что особенно проявилось в ЭВМ второго и третьего поколений.
Правила перевода в позиционных системах счисления
Пример 3.1. Выполнить перевод числа 19 в двоичную систему счисления:
Пример 3.2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:
Пример 3.3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:
Пример 3.4. Выполнить перевод числа 1316 в десятичную систему счисления. Имеем:
1316 = 1*16 1 + 3*16 0 = 16 + 3 = 19.
Таким образом, 1316 = 19.
Пример 3.5. Выполнить перевод числа 100112 в десятичную систему счисления. Имеем:
100112 = 1*2 4 + 0*2 3 + 0*2 2 + 1*2 1 + 1*2 0 = 16+0+0+2+1 = 19.
Таким образом, 100112 = 19.
Пример 3.6. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.
Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:
Пример 3.7. Выполнить перевод числа 1316 в двоичную систему счисления.
По таблице имеем: 116 = 12 и после дополнения незначащими нулями 12 = 00012; 316 = 112 и после дополнения незначащими нулями 112 = 00112. Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112.
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Таким образом, 0,847 = 0,11012.
Пример 3.9. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
В данном примере также процедура перевода прервана. Таким образом, 0,847 = 0,D8D2.
3. Из двоичной системы счисления в шестнадцатеричную:
Пример 3.13. Выполнить перевод из двоичной системы счисления в шестнадцатеричную числа 0,00101012.
Поскольку количество цифр дробной части не кратно 4, добавим справа незначащий ноль: 0,00101012 = 0,001010102. В соответствии с таблицей 00102 = 102 = 216 и 10102 = A16. Тогда имеем 0,00101012 = 0,2A16.
Пример 3.15. Выполнить перевод из десятичной системы счисления в шестнадцатеричную числа 19,847. Перевод выполнять до трех значащих цифр после запятой.
Представим исходное число как сумму целого числа и правильной дроби:
19,847 = 19 + 0,847.
Как следует из примера 3.2, 19 = 1316; а в соответствии с примером 3.9 0,847 = 0,D8D16. Тогда имеем:
19 + 0,847 = 1316 + 0,D8D16 = 13,D8D16.
Таким образом, 19,847 = 13,D8D16.











