Перевод из шестнадцатеричной системы в десятичную

Перевести шестнадцатеричное число в десятичное достаточно просто, для этого необходимо воспользоваться формулой. Важное замечание состоит в том, что для перевода целого и дробного шестнадцатеричного числа используются разные, хоть и схожие, формулы.

Таблица соответствия шестнадцатеричных чисел

Перед тем как перейти к алгоритму перевода, вспомним таблицу соответствия десятичных и шестнадцатеричных чисел:

Десятичная система Шестнадцатеричная система
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
10 A
11 B
12 C
13 D
14 E
15 F

Алгоритм перевода целого шестнадцатеричного числа в десятичную систему счисления

Для перевода целого шестнадцатеричного числа в десятичное, обратимся к развернутой форме записи числа для позиционной системы счисления:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0

где A — число, q — основание системы счисления, а n — количество разрядов числа.

Зная основание системы счисления (16), выведем формулу перевода:

A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160

Пример 1: Перевести число A2F из шестнадцатеричной системы в десятичную

Применив выведенную формулу, получим:

A2F16=A ∙ 162 + 2 ∙ 161 + F ∙ 160 = 10 ∙ 256 + 2 ∙ 16 + 15 ∙ 1 = 2560 + 32 + 15 = 260710

Ответ: A2F16 = 260710

Алгоритм перевода шестнадцатеричной дроби в десятичную систему счисления

Как и в предыдущем случае, для перевода шестнадцатеричной дроби в десятичную систему, воспользуемся развернутой формой представления дробей в позиционных системах:

An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m

где A — число, q — основание системы счисления, n — количество целых разрядов, а m — количество дробных разрядов числа. Зная основание системы счисления (16), выведем формулу перевода:

A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160 + a-1 ∙ 16-1 + ∙∙∙ + a-m ∙ 16-m

Пример 2: Перевести число 0,2A9 из шестнадцатеричной системы в десятичную

Применив выведенную формулу, получим:

0.2A916=0 ∙ 160 + 2 ∙ 16-1 + A ∙ 16-2 + 9 ∙ 16-3 = 0 ∙ 1 + 2 ∙ 0.0625 + 10 ∙ 0.00390625 + 9 ∙ 0.000244140625 = 0 + 0.125 + 0.0390625 + 0.002197265625 = 0.16625976562510

Ответ: 0.2A916 = 0.16625976562510

Пример 3: Перевести число 104,F2 из шестнадцатеричной системы в десятичную

104.F216=1 ∙ 162 + 0 ∙ 161 + 4 ∙ 160 + F ∙ 16-1 + 2 ∙ 16-2 = 1 ∙ 256 + 0 ∙ 16 + 4 ∙ 1 + 15 ∙ 0.0625 + 2 ∙ 0.00390625 = 256 + 0 + 4 + 0.9375 + 0.0078125 = 260.945312510

Ответ: 104.F216 = 260.945312510

  • Какое число еще хотите перевести?

    * Все поля обязательны
  • Дробное число вводите через точку
  • Введите от 2 до 16
  • Введите от 2 до 16
Подписаться
Уведомить о
guest
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
Adblock
detector