Как преобразовать десятичное число в шестнадцатеричное?

Опубликовано: 29 Сентября, 2022

Система счисления – это система представления чисел. Существуют различные типы представлений в системе счисления. Они бывают двоичными (основание — 2), десятичными (основание — 10), восьмеричными (основание — 8) и шестнадцатеричными (основание — 16).

Преобразование десятичного числа в шестнадцатеричное — это процесс преобразования десятичного числа в шестнадцатеричное число. Десятичное число имеет базовое значение 10 (от 0 до 9), а шестнадцатеричное число имеет базовое значение 16 (от 0 до 9 и от A до F для 10-15).

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

Шестнадцатеричная цифра Десятичная цифра Двоичная форма
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
А 10 1010
Б 11 1011
С 12 1100
Д 13 1101
Е 14 1110
Ф 15 1111

Существуют различные способы преобразования десятичных чисел в шестнадцатеричные. Они следующие:

Преобразование чисел с целочисленной частью

Step 1: Take the decimal number as dividend and 16 as the divisor (hexadecimal number will have 16 as a base)

Step 2: Divide the dividend with the divisor and store the remainder in an array

Step 3: Now divide the quotient obtained from the above step by 16 and store the remainder in the array.

Step 4: Repeat the third step until the number is greater than zero.

Step 5: The final hexadecimal value will be the reverse order of the array.

Пример 1: Рассмотрим десятичное число 450. Нам нужно преобразовать это десятичное число в шестнадцатеричное число.

Решение:

Given: Decimal number = 450(10)

Step 1: 450/16 gives Q1 = 28 and R1 = 2

Step 2: 28/16 gives Q2 = 1 and R2 = 12 = C

Step 3: 1/16 gives Q3 =  0 and R3 = 1

Step 4: 0/16 gives Q4 =  0 and R4 = 0

Therefore, the hexadecimal value is 01C2(16)

Пример 2: преобразовать 6096 (10) в ________ (16)

Решение:

Given: Decimal number = 6096(10)

Step 1: 6096/16 gives Q1 = 381 and R1 = 0

Step 2: 381/16 gives Q2 = 23 and R2 = 13 = D

Step 3: 23/16 gives Q3 =  1 and R3 = 7

Step 4: 1/16 gives Q4 =  0 and R4 = 1

Step 5: 0/16 gives Q5 =  0 and R5 = 0

Therefore, the hexadecimal value is 017D0(16) or 17D0(16)

Преобразование чисел с дробными частями

Step 1: Take the decimal fractional number and multiply it with 16 (hexadecimal number will have 16 as a base)

Step 2: Store the remainder in an array i.e. the integer part

Step 3: Repeat the above two steps until the number is zero.

Step 4: The final hexadecimal value will be the elements of the array.

Пример 1. Преобразование 0,0568 (10) в _______ (16)

Решение:

Given: Decimal number = 6096(10)

Step 1: 0.0645 x 16 = 1.032 and R1 = 1

Step 2: 0.032 x 16 = 0.512 and R2 = 0  

Step 3: 0.512 x 16 = 8.192 and R3 = 8

Step 4: 0.192 x 16 = 3.072 and R3 = 3

Step 5: 0.072 x 16 = 1.152 and R3 = 1

The fractional part is still not zero so it continues, now we can take up to 5 remainders

Therefore, the hexadecimal value is 0.10831…(16)

Преобразование чисел с целыми и дробными частями

Должны быть соблюдены шаги как целой части, так и дробной части.

Пример 1: преобразовать 256,00390625 (10) в _________ (16)

Решение:

 Given: Decimal number = 256.00390625(10) 

Let’s perform the conversion on integer part:

Integer value = 256(10)

Step 1: 256/16 gives Q1 = 16 and R1 = 0

Step 2: 16/16 gives Q2 = 1 and R2 = 0

Step 3: 1/16 gives Q3 =  0 and R3 = 1

Let’s perform the conversion on fractional part:

Fractional value = 0.00390625(10)

Step 1: 0.00390625 x 16 = 0.0625 and R1 = 0

Step 2: 0.0625 x 16 = 1.0 and R2 = 1 

Step 3: 0.0 x 16 = 0 and R3 = 0

Therefore, the hexadecimal value is 100.010(16)

Косвенное преобразование

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

Пример 1: преобразовать 66 (10) в _______ (16)

Решение:

Given: Decimal Number =  345(10)

Convert the given decimal number to its binary form:

 

Binary Number = 1000010(2)

Now, Group 4 binary digits as one group and write its hexadecimal value

i.e. 0100 0010

Therefore, Hexadecimal Number =  42(16)