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

Перевод -802.15625 из десятичной в двоичную систему счисления

Введите число:
Его система счисления:
Двоичная
Троичная
Восьмеричная
Десятичная
Шестнадцатиричная
Двоично-десятичная
Другая
Дополнительно

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

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

8022
-8024012
0-4002002
1-2001002
0-100502
0-50252
0-24122
1-1262
0-632
0-21
1
Перевод чисел из одной системы счисления в другую

Дробная часть числа находится умножением на основание новой системы счисления:

Перевод чисел из одной системы счисления в другую
0.15625*2
0.3125*2
0.625*2
1.25*2
0.5*2
1.0*2

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

802.1562510 = 1100100010.001012

Вы указали что размер вашего числа 8 байт.

На данный момент отрицательные дробные числа не поддерживаются. Поэтому в дальнейшем переводе участвует только целая часть числа.

Дополним число знаковым битом вот так:

11001000102 = 10000000000000000000000000000000000000000000000000000011001000102

Так-как введенное Вами число отрицательное то необходимо перевести его из прямого кода в дополнительный.

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

1000000000000000000000000000000000000000000000000000001100100010 прямой код
.
1111111111111111111111111111111111111111111111111111110011011101обратный код
+1+1 бит
1111111111111111111111111111111111111111111111111111110011011110дополнительный код
Ответ: -802.1562510 = 11111111111111111111111111111111111111111111111111111100110111102 (8 байт)