Преобразование чисел в указанную систему счисления
Прежде всего небольшой ликбез, в таблице представлены числа из разных систем счисления и их эквивалент. Также сюда можно заглядывать во время чтения статьи.
Десятичная | Шестнадцатиричная | Двоичная четырех разрядная |
---|---|---|
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 | A | 1010 |
11 | B | 1011 |
12 | C | 1100 |
13 | D | 1101 |
14 | E | 1110 |
15 | F | 1111 |
Десятичная система счисления
Имея число 117, нужно выполнить несколько шагов:
117 / 2 = 1
58 / 2 = 0
29 / 2 = 1
14 / 2 = 0
7 / 2 = 1
3 / 2 = 1
1 / 2 = 1
Записываем в результат в обратном порядке(снизу вверх в данном случае) и получаем число: 1110101.
Преобразование десятичного числа в шестнадцатиричное число. Тут принцип такой же, нужно поделить десятичное число на основание системы счисления, остаток от деления записывать в результат в обратном порядке, шестнадцатиричная система счисления это цифры от 0 до 9 и латинские буквы - ABCDEF, в итоге имеем 16 символов.
Преобразуем например число 1024:
1024 / 16 = 0
64 / 16 = 0
4 / 16 = 4
Итого получаем число: 400 в шестнадцатиричной системе счисления.Двоичная система счисления
Перевод из двоичной в десятичную. Нам нужно каждый бит умножить на основание системы счисления и возвести в степень которая будет соответствовать позиции цифры справа налево и отнять 1, далее складывать со следующей преобразованной цифрой двоичного числа. Например у нас первая цифра у числа 10101111 это 1, позиция у неё справа налево 8-я - 1 = 7-я.
Поэтому запись будет такая: 1 * 2 ^ (8-1)
Имеем двоичное число 10101111, преобразовываем:
1 * 2 ^ 7 = 128
0 * 2 ^ 6 = 0
1 * 2 ^ 5 = 32
0 * 2 ^ 4 = 0
1 * 2 ^ 3 = 8
1 * 2 ^ 2 = 4
1 * 2 ^ 1 = 2
0 * 2 ^ 0 = 0
128 + 0 + 32 + 0 + 8 + 4 + 2 + 0 = 174, нули можно в процессе сложения отбрасывать.Преобразование из двоичной в шестнадцатиричную.
Тут все просто, каждое четырех разрядное двоичное число соответствует одной шестнадцатиричной цифре.
Например четырех разрядное двоичное число 1111 в десятичной это - 15 в шестнадцатиричной это - F.
Преобразование и запись ведется строго справа налево.
Есть число 10101111:
1111 = F
1010 = A
Поэтому двоичное число 10101111 после преобразования в шестнадцатиричную: AF.Шестнадцатиричная система счисления
Можно начать с простого преобразования в двоичную систему, если вспомнить, то одна шестнадцаиричная цифра соответствует четырех разрядному двоичному числу.
Дано шестнадцатиричное число FAE:
F = 1111
A = 1010
E = 1110
Итого получилось: 111110101110, все очень просто.Из шестнадцатиричной в десятичную перевод, по уже знакомому принципу, умножаем на систему счисления и возводим в степень позиции цифры справа налево минус 1, при этом каждая цифра должна быть в десятичной системе счисления во время мат. операции.
Есть шестнадцатиричное число A10C:
10 * 16 ^ 3 = 40960
1 * 16 ^ 2 = 256
0 * 16 ^ 1 = 0
12 * 16 ^ 0 = 12
Считаем результат суммирования - 40960 + 256 + 0 + 12 = 41228
Комментарии
Отправить комментарий