https://mathweb.ru/numberconverter.html?id=380398

Перевод 1000000000000001(Знаковое Дополнительный 8 байт) из двоичной в шестнадцатиричную систему счисления

Введите число:
Его система счисления:
Двоичная
Троичная
Восьмеричная
Десятичная
Шестнадцатиричная
Двоично-десятичная
Другая
Дополнительно
Знаковое
Прямой
Обратный
Дополнительный
Беззнаковое
1 байт
2 байта
4 байта
8 байт

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

Для этого сначала выполним преобразование из дополнительного кода в обратный вычитанием 1 бита, затем получим прямой код инвертированием всех битов кроме знакового.

1111111111111111 дополнительный код
-1-1 бит
1111111111111110обратный код
1000000000000001прямой код
Получилось:1000000000000001

Данный перевод возможен двумя способами: прямой перевод и через десятичную систему.

Сначала выполним прямой перевод.

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

10000000000000012 = 1000 0000 0000 0001 = 1000(=8) 0000(=0) 0000(=0) 0001(=1) = 800116

Ответ: 10000000000000012 = 800116

Теперь выполним перевод через десятичную систему счисления.

Выполним перевод в десятичную систему счисления вот так:

1∙215+0∙214+0∙213+0∙212+0∙211+0∙210+0∙29+0∙28+0∙27+0∙26+0∙25+0∙24+0∙23+0∙22+0∙21+1∙20 = 1∙32768+0∙16384+0∙8192+0∙4096+0∙2048+0∙1024+0∙512+0∙256+0∙128+0∙64+0∙32+0∙16+0∙8+0∙4+0∙2+1∙1 = 32768+0+0+0+0+0+0+0+0+0+0+0+0+0+0+1 = 3276910

Получилось: 10000000000000012 =3276910

Переведем число 3276910 в шестнадцатиричное вот так:

Целая часть числа находится делением на основание новой системы счисления:

3276916
-32768204816
1-204812816
0-1288
0
Перевод чисел из одной системы счисления в другую

В результате преобразования получилось:

3276910 = 800116
Ответ: 10000000000000012 = 800116