Перевод чисел в различные системы счисления
Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.
Сначала выполним прямой перевод.
Выполним прямой перевод из шестнадцатиричной в двоичную вот так:
Теперь выполним перевод через десятичную систему счисления.
Выполним перевод в десятичную систему счисления вот так:
Знаковый бит в переводе не участвует!
Так как число знаковое и имеет знаковый бит, то результат будет иметь отрицательный знак
Получилось: e8f80000016 =-2817733427210
Переведем число -2817733427210 в двоичное вот так:
Целая часть числа находится делением на основание новой системы счисления:
| 28177334272 | 2 | |||||||||||||||||||||||||||||||||||
| -28177334272 | 14088667136 | 2 | ||||||||||||||||||||||||||||||||||
| 0 | -14088667136 | 7044333568 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -7044333568 | 3522166784 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -3522166784 | 1761083392 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -1761083392 | 880541696 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -880541696 | 440270848 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -440270848 | 220135424 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -220135424 | 110067712 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -110067712 | 55033856 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -55033856 | 27516928 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -27516928 | 13758464 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -13758464 | 6879232 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -6879232 | 3439616 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -3439616 | 1719808 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -1719808 | 859904 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -859904 | 429952 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -429952 | 214976 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -214976 | 107488 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -107488 | 53744 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -53744 | 26872 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -26872 | 13436 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -13436 | 6718 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -6718 | 3359 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -3358 | 1679 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -1678 | 839 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -838 | 419 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -418 | 209 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -208 | 104 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -104 | 52 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -52 | 26 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -26 | 13 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -12 | 6 | 2 | |||||||||||||||||||||||||||||||||
| 1 | -6 | 3 | 2 | |||||||||||||||||||||||||||||||||
| 0 | -2 | 1 | ||||||||||||||||||||||||||||||||||
| 1 | ||||||||||||||||||||||||||||||||||||
![]() | ||||||||||||||||||||||||||||||||||||
В результате преобразования получилось:
Вы указали что размер вашего числа 8 байт.
Дополним число знаковым битом вот так:
Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.
Для этого сначала выполним преобразование из прямого кода в обратный инвертированием всех битов кроме знакового, затем получим прямой код добавлением 1 бита.
| 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | прямой код |
| . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | . | ||||||||||||||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | обратный код |
| + | 1 | +1 бит | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | дополнительный код |
