Сегодня я подытожу различные вопросы конвертации баз. Это подробно и понятно, надеюсь, это будет вам полезно!
Начнем с наиболее знакомой нам десятичной системы. Методы преобразования для других десятичных систем такие же, поэтому мы обязательно их все запомним.
Целые числа имеют 4 основные формы: 1. Десятичная система: они состоят из девяти цифр от 0 до 9 и не могут начинаться с 0. 2. Двоичная система: состоит из двух чисел 0 и 1. 3. Восьмеричная система: состоит из цифр 0–7. Чтобы отличать числа от других базовых систем, все они начинаются с 0. 4. Шестнадцатеричный: состоит из цифр 0–9 и A–F. Чтобы отличить их от других чисел, все они начинаются с 0x.
Для начала опубликуем базовую таблицу преобразования:
(1) Принцип преобразования десятичной дроби в двоичную: делим на 2 и отсчитываем остаток в обратном направлении, пока частное не достигнет 0. (2) Конкретные методы:
Сохраните целую часть, полученную в результате деления десятичного числа на 2, в качестве делимого при втором делении на 2. Запишите остатки по очереди. Повторяйте вышеуказанные шаги, пока целая часть не станет равна 0. Наконец, выведите все остатки в обратном порядке. порядок, затем двоичное число, соответствующее десятичной системе. Например: 9 (десятичное число) → 1001 (двоичное число).
(1) Принцип преобразования: разделите на 8 и отсчитывайте остаток в обратном направлении, пока частное не достигнет 0.
(2) Конкретные шаги такие же, как и для двоичного файла.
Например: Преобразуйте десятичное число 796 в восьмеричное: Разделите 796 на 8, чтобы получить первый остаток от 4, и используйте целую часть 99, полученную путем деления 8, в качестве второго делимого. Повторяйте вышеуказанные шаги, пока последняя целая часть не станет 0. Выведите все оставшиеся остатки в обратном порядке Тогда это:796–>1434
(1) Принцип преобразования: разделите на 16 и отсчитывайте остаток в обратном направлении, пока частное не достигнет 0. (2) Конкретные шаги такие же, как для двоичных и восьмеричных чисел. Повторите вышеуказанные шаги, чтобы получить шестнадцатеричное число. Например: преобразовать десятичное число 796 в шестнадцатеричное число. То есть:796–>31c
Следует отметить, что шестнадцатеричные числа состоят из 0-9 и A-F (или a-f эквивалентно 10 в десятичной системе, B эквивалентно 11 и т. д., F эквивалентно 15, полученному в приведенном выше примере). Остаток 12 — это c в шестнадцатеричном формате.
Резюме: Принцип преобразования целой части нескольких вышеупомянутых базовых систем заключается в том, чтобы разделить базовое число, взять остаток и вывести в обратном порядке.
Разрешите выложить таблицу десятичных дробей.
(1) Принцип: Преобразуйте десятичную дробь в двоичную, используя «Умножить на 2, округлить в большую сторону и вывести последовательно» Закон.
пример: 0.68D = ______ B (с точностью до 5 десятичных знаков) Как показано ниже, умножьте 0,68 на 2 и округлите до целого числа, затем умножьте десятичное число на 2 и округлите до целого числа, пока не будет достигнута точность, требуемая вопросом. Получите результат: 0,10101B. Например: преобразовать десятичное число 0,68 в двоичное число. Конкретные шаги: 0.68* 2=1.36 –>1 0.36* 2=0.72 –>0 0.72* 2=1.44 –>1 0.44* 2=0.88–>0 0.88* 2=1.76 –>1 Требуемая вопросом точность достигнута. Наконец, вынесенные целые части можно выводить последовательно. Тогда это:0.68D–>0.10101B
(1) Принцип: Преобразуйте десятичную дробь в восьмеричную, используя «Умножить на 8, округлить в большую сторону и вывести последовательно» Закон.
(2) Идея та же, что и при преобразовании десятичной дроби в двоичную, см. следующий пример:
пример: 10.68D = ______ Q (с точностью до 3 десятичных знаков) Анализ: Как показано на рисунке ниже, целая часть делится на 8, а остаток отбирается до тех пор, пока его невозможно разделить. Умножьте десятичную часть 0,68 на 8 и округлите до целого числа. Затем умножьте десятичную часть на 8 и округлите до целого числа, пока не будет достигнута точность, требуемая вопросом. Получите результат: 12.534Q.
Например: десятичное число 10,68 преобразуется в восьмеричное число и делится на целую и десятичную части для решения. шаг: (1) Целая часть 10/8=1 –>2 1/8=0 –>1 Вывод в обратном порядке равен 12. (2) Десятичная часть 0.68* 8=5.44 –>5 0.44* 8=3.52 –>3 0.52* 8=4.16 –>4 Требуемая вопросом точность достигнута, и все кончено. Тогда десятичная часть равна:0.68–>0.534 Поэтому 10.68D –>12.534Q
(1) Принцип: Преобразование десятичных чисел в шестнадцатеричные с помощью «Умножить на 16, округлить в большую сторону и вывести последовательно» Закон. (2)Идея та же, поэтому повторяться не буду. пример: 25.68D = ______ H (с точностью до 3 десятичных знаков)
Анализ: Как показано на рисунке ниже, целая часть делится на 16, чтобы получить остаток до тех пор, пока его нельзя будет разделить. Умножьте десятичную часть 0,68 на 16 и округлите до целого числа. Затем умножьте десятичную часть на 16 и округлите до целого числа, пока не будет достигнута точность, требуемая вопросом. Получите результат: 19.ae1H. (1) Целая часть 25/16=1 –>9 1/16=0 –>1 Вывод в обратном порядке: 19 (2) Десятичная часть 0.68* 16=10.88 –>a(Это в десятичном формате10) 0.88* 16=14.08 –>e 0.08* 16=1.28 –>1 Требуемая точность достигнута, выходные данные последовательности: ae1 Тогда: 25.68D –>19.ae1H
Краткое описание: Преобразование десятичной частипринципа — это все мультипликативные числа, которые принимают целую часть, а затем последовательно выводят целую часть.
1. Все они резюмируются следующим образом:
2. Принципы преобразования у всех трех одинаковы.
Пример:
(1) Принцип: с целой частью можно работать, как указано выше. Десятичная часть начинается с показателя -1 после десятичной точки, а затем -2, -3... (2) Конкретные примеры применения и шагов:
(1) Принцип: операции и вычисления с целой частью остаются неизменными, десятичная часть аналогична двоичной, просто измените 2 на 8. (2) Конкретные шаги и методы заключаются в следующем:
Например: Преобразуйте восьмеричное число 72,45 в десятичное число. шаг: (1) Целая часть: 7* 8^1+ 2* 8 ^0=58 (2) Десятичная часть 4* 8^(-1) + 5* 8^(-2)=0.5+0.078125=0.578125 Тогда это: 72,45 –>58.578125
(1) Принцип: целочисленная операция такая же, просто измените десятичную часть на 16. (2) Конкретные этапы метода следующие:
Пример: 1A6.3B8=1* 16^2+A* 16 ^1+6* 16 ^0 +3* 16 ^(-1)+B* 16 ^(-2)+8* 16 ^(-3) =422,232422
Аннотация: При преобразовании приведенных выше двоичных, восьмеричных и шестнадцатеричных систем в десятичные целая часть целой части увеличивается от 0 влево, а десятичная часть уменьшается от -1 слева направо. Принцип тот же.
1. Преобразовать двоичный код в восьмеричный Принцип: «Три в одном» берет три цифры двоичного числа и объединяет их в одну цифру восьмеричного числа.
2. Преобразование двоичного кода в шестнадцатеричный. Принцип: «Четыре в одном» берет четыре цифры двоичного числа и объединяет их в одну цифру шестнадцатеричного числа.
Пример:
Двоичное число 1010 0100B преобразуется в восьмеричное число 244Q.
Двоичное число 1010 0100B преобразуется в шестнадцатеричное число: a4H.
Опубликуем еще один пример:
1. Преобразование восьмеричного числа в двоичное. Принцип: одна цифра восьмеричного числа равна трем цифрам двоичного числа.
2. Преобразование шестнадцатеричных чисел в двоичные. Принцип: одна цифра шестнадцатеричного числа равна четырем цифрам двоичного числа.
Преобразование между ними может быть выполнено с помощью десятичных или двоичных чисел. Вы можете сначала преобразовать восьмеричные числа в десятичные или двоичные, а затем преобразовать в шестнадцатеричные. Это достигается за счет косвенного преобразования.
Выше приведены все общие преобразования баз, включая целую и десятичную части. Лично я считаю, что лучше всего понять некоторые принципы и правила преобразования баз. переход на другие базовые системы. То же использование. Проблема преобразования баз относительно проста, поэтому обязательно освойте ее!
Надеюсь, моя статья будет вам полезна, хе-хе! Если есть ошибки, надеюсь, вы их раскритикуете и исправите. Спасибо за прочтение!
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Этот сайт предоставляет только услуги по хранению информации, не имеет никаких прав собственности и не принимает на себя соответствующие юридические обязательства. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/180862.html Исходная ссылка: https://javaforall.cn