Перевод чисел из шестнадцатеричной системы в двоичную и восьмеричную
Алгоритм перевода чисел из шестнадцатеричной системы счисления двоичную крайне прост. Необходимо только заменить каждую цифру шестнадцатеричного числа ее эквивалентом в двоичной системе счисления (в случае положительных чисел). Как и в предыдущих параграфах, удобно и полезно воспользоваться таблицей соответствия, приведенной в Приложении. Отметим только, что каждое шестнадцатеричное число следует заменять двоичным, дополняя его до 4 разрядов (в сторону старших разрядов).
Пусть требуется перевести шестнадцатеричное число F116 в двоичное число. Воспользовавшись Таблицей соответствия из Приложения, получим:
поскольку F16 = 11112, 116 = 00012. Этот пример иллюстрирует тот факт, что следует дополнять младшие разряды до 4 разряда в двоичном числе. Естественно, дополнять старший разряд двоичного числа до 4 старших битов нулями не имеет смысла, другими словами пишут
1F16=111112, а не000111112
Обычно при переводе чисел из шестнадцатеричной в восьмеричную систему счисления вначале шестнадцатеричное число переводят в двоичное, затем разбивают его на триады, начиная с младшего бита, а потом заменяют триады соответствующими им эквивалентами в восьмеричной системе. Для рассмотренных примеров имеем:
1F16=111112=011 1112=378
F116=111100012=011 110 0012=3618
Непосредственное преобразование чисел из шестнадцатеричной системы счисления в восьмеричную требует выполнения арифметических действий в этой системе счисления. Об этом речь пойдет позже, в IV главе нашего курса. Отмечу только, что программная реализация вышеприведенного алгоритма проще и надежнее, поскольку при выполнениях операций деления неизбежно возникают дробные числа и переполнения разрядной сетки, необходимость округления, и, как следствие, потеря точности, не говоря уже о скорости выполнения компьютером такого типа алгоритмов.
Задание
Перевести аргумент 1 и аргумент 2 из лабораторной № 2 в другие системы счисления:
Выполнить суммирование в десятичной системе счисления.
Перевести результаты суммирования из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.
Выполнить умножение в десятичной системе счисления.
Перевести результаты умножения из лабораторной № 1 в десятичную систему счисления. Сравнить результаты с п. 2.
Перевести результаты умножения из десятичной системы счисления в другие системы:
Перевести числа из п. 6 из восьмеричной и шестнадцатеричной системы в двоичную. Сравнить результаты.
Перевести число из восьмеричной и шестнадцатеричной систем счисления в десятичную систему счисления:
для нечетного варианта: 1700 + № своего варианта. Для вариантов x8 иx9 взять числа:
вариант 8 — 1726
вариант 9 — 1727
вариант 18 — 1736
вариант 19 — 1737
для четного варианта: 2000 + № своего варианта. Для вариантов x8 иx9 взять числа:
вариант 8 — 2026
вариант 9 — 2027
вариант 18 — 2036
вариант 19 — 2037
Литература
1. О. Нейгебавуэр «Точные науки в древности» // М.: пер. с англ., изд. «Наука», – 1968. – 224 с.
2. И.Я. Депман «История арифметики» // М.: изд. «Просвящение», –1965. – 415 с.
3. Е.А. Башков «Аппаратное и программное обеспечение зарубежных ЭВМ» // Учеб. пособие. – К.: Выща школа. – 1990. – 207 с.
4. С.Д. Погорелый, Т.Ф. Слободянюк «Программное обеспечение микропроцессорных систем: Справочник» // 2-е изд., перераб. и доп. – К.: Тэхника. – 1989. – 301 с.
5. Р. Токхайм «Микропроцессоры: Курс и упражнения» // пер. с англ., под ред. В.Н. Грасевича. М.: Энергоатомиздат. – 1988. – 336 с.
6. В. Юров «Assembler» // СПб: Издательство «Питер». – 2000. – 624 с.
7. У. Девис «Операционные системы. Функциональный подход» // Пер. с англ., М.: изд. «Мир». – 1980. – 436 с.
8. Д.В. Иртегов «Введение в операционные системы» // СПб.: БХВ-Петербург, – 2002. – 624 с.
9. С.В. Зубков «Assembler для DOS, Windows и Unix» // М.: ДМК Пресс. – 2000. – 608 с.
10. Э. Таненбаум «Архитектура компьютера» // пер. с анг., под ред. А.В. Гордеева. СПб.: Питер. – 2002. – 704 с.
11. З.Л. Рабинович, В.А. Раманаускас «Типовые операции в вычислительных машинах» // К.: Техніка, -1980. -264 с.
12. Б. Бериан «Программирование на языке ассемблера системы IBM/370. Упрощенный подход» // М.: «Мир», -1980. -640 с.
Перевод чисел из шестнадцатеричной системы счисления в двоичную
Перевод чисел из шестнадцатеричной системы счисления в двоичную — это преобразование чисел шестнадцатеричной системы счисления в числа двоичной системы счисления.
Содержание
Алгоритм [ править ]
Цифры исходного числа шестнадцатеричной системы счисления заменяются (слева направо) на соответствующие (по таблице тетрад) тетрады (четвёрки цифр двоичной системы счисления). Незначащие нули первой (самой левой) тетрады опускаются (отбрасываются).
Таблица тетрад [ править ]
- Заметим, что возможны другие способы перевода чисел: 16→4→2 и 16→10→2.
Пример перевода 16→2 [ править ]
Другие алгоритмы: [ править ]
Навигация
Поиск
-
Эта страница в последний раз была отредактирована 24 ноября 2019 в 09:27.
К этой странице обращались 204 раза.
Текст страницы доступен по условиям лицензии GNU Free Documentation License. Материалы могут быть скопированы при условии указания активной ссылки на источник копирования в теле статьи (на той же странице). В отдельных случаях могут действовать условия лицензии Creative Commons Attribution-ShareAlike (CC BY-SA 3.0), информацию об этом можно просмотреть на странице обсуждения или в истории правок. В частности, условия лицензии CC BY-SA 3.0 действуют в отношении статей, перенесенных из Википедии (указание на факт переноса всегда есть в истории правок статьи или на ее странице обсуждения).
В текстах могут упоминаться организации, признанные на территории Российской Федерации террористическими и/или в отношении которых судом принято вступившее в законную силу решение о запрете деятельности — см. полный список, а также деятельность которых запрещена по решению суда — см. полный список.
Как перевести из шестнадцатиричной в двоичную
Пример 3.1. Выполнить перевод числа 19 в двоичную систему счисления:
Пример 3.2. Выполнить перевод числа 19 в шестнадцатеричную систему счисления:
Пример 3.3. Выполнить перевод числа 123 в шестнадцатеричную систему счисления:
2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле.
Пример 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.
- исходное число разбивается на тетрады (т.е. 4 цифры), начиная с младших разрядов. Если количество цифр исходного двоичного числа не кратно 4, оно дополняется слева незначащими нулями до достижения кратности 4;
- каждая тетрада заменятся соответствующей шестнадцатеричной цифрой в соответствии с таблицей
Пример 3.6. Выполнить перевод числа 100112 в шестнадцатеричную систему счисления.
Поскольку в исходном двоичном числе количество цифр не кратно 4, дополняем его слева незначащими нулями до достижения кратности 4 числа цифр. Имеем:
- каждая цифра исходного числа заменяется тетрадой двоичных цифр в соответствии с таблицей. Если в таблице двоичное число имеет менее 4 цифр, оно дополняется слева незначащими нулями до тетрады;
- незначащие нули в результирующем числе отбрасываются.
Пример 3.7. Выполнить перевод числа 1316 в двоичную систему счисления.
По таблице имеем: 116 = 12 и после дополнения незначащими нулями 12 = 00012; 316 = 112 и после дополнения незначащими нулями 112 = 00112. Тогда 1316 = 000100112. После удаления незначащих нулей имеем 1316 = 100112.
- исходная дробь умножается на основание системы счисления, в которую переводится (2 или 16);
- в полученном произведении целая часть преобразуется в соответствии с таблицей в цифру нужной системы счисления и отбрасывается — она является старшей цифрой получаемой дроби;
- оставшаяся дробная часть вновь умножается на нужное основание системы счисления с последующей обработкой полученного произведения в соответствии с шагами а) и б).
- процедура умножения продолжается до тех пор, пока ни будет получен нулевой результат в дробной части произведения или ни будет достигнуто требуемое количество цифр в результате;
- формируется результат: последовательно отброшенные в шаге б) цифры составляют дробную часть результата, причем в порядке уменьшения старшинства.
В данном примере процедура перевода прервана на четвертом шаге, поскольку получено требуемое число разрядов результата. Очевидно, это привело к потере ряда цифр.
Таким образом, 0,847 = 0,11012.
Пример 3.9. Выполнить перевод числа 0,847 в шестнадцатеричную систему счисления. Перевод выполнить до трех значащих цифр.
В данном примере также процедура перевода прервана. Таким образом, 0,847 = 0,D8D2.
2. Из двоичной и шестнадцатеричной систем счисления — в десятичную. В этом случае рассчитывается полное значение числа по формуле, причем коэффициенты ai принимают десятичное значение в соответствии с таблицей.
Пример 3.10. Выполнить перевод из двоичной системы счисления в десятичную числа 0,11012. Имеем:
0,11012 = 1*2 -1 + 1*2 -2 + 0*2 -3 +1*2 -4 = 0,5 + 0,25 + 0 + 0,0625 = 0,8125.
Расхождение полученного результата с исходным для получения двоичной дроби числом вызвано тем, что процедура перевода в двоичную дробь была прервана.
Таким образом, 0,11012 = 0,8125.
Пример 3.11. Выполнить перевод из шестнадцатеричной системы счисления в десятичную числа 0,D8D16. Имеем:
0,D8D16 = 13*16 -1 + 8*16 -2 + 13*16 -3 = 13*0,0625 + 8*0,003906 + 13* 0,000244 = 0,84692.
Расхождение полученного результата с исходным для получения двоичной дроби числом вызвано тем, что процедура перевода в шестнадцатеричную дробь была прервана.
Таким образом, 0,D8D16 = 0,84692.
3. Из двоичной системы счисления в шестнадцатеричную:
- исходная дробь делится на тетрады, начиная с позиции десятичной точки вправо. Если количество цифр дробной части исходного двоичного числа не кратно 4, оно дополняется справа незначащими нулями до достижения кратности 4;
- каждая тетрада заменяется шестнадцатеричной цифрой в соответствии с таблицей.
Пример 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.
Шестнадцатеричный конвертер в двоичный
Как преобразовать шестнадцатеричный код в двоичный:
Преобразование шестнадцатеричных чисел в двоичную систему очень просто, поскольку каждая шестнадцатеричная цифра может быть выражена четырьмя двоичными цифрами. Для преобразования разделите шестнадцатеричное число на его цифры и выразите каждый шестнадцатеричный код его двоичным эквивалентом. Сопоставление между шестнадцатеричным и двоичным числом доступно в таблице поиска выше.
Хотите быстро преобразовать шестнадцатеричные и двоичные числа?
Просто введите шестнадцатеричное или двоичное число, и наш конвертер шестнадцатеричных чисел в бины сделает за вас всю работу.
Copyright © 2023 Converter App. Все права защищены.
Положения и условия
Все услуги, предлагаемые на этом сайте, предоставляются бесплатно в надежде, что они окажутся полезными. Мы не даем никаких гарантий. Используя наши конвертеры, вы соглашаетесь на временную загрузку вашего документа на удаленный сервер.