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

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

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

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

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

1722
-172862
0-86432
0-42212
1-20102
1-1052
0-422
1-21
0
Перевод чисел из одной системы счисления в другую

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

Перевод чисел из одной системы счисления в другую
0.275*2
0.55*2
1.1*2
0.2*2
0.4*2
0.8*2
1.6*2
1.2*2
0.4*2
0.8*2
1.6*2

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

172.27510 = 10101100.01000110012

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

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

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

101011002 = 10000000000000000000000000000000000000000000000000000000101011002

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

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

1000000000000000000000000000000000000000000000000000000010101100 прямой код
..
1111111111111111111111111111111111111111111111111111111101010011обратный код
+1+1 бит
1111111111111111111111111111111111111111111111111111111101010100дополнительный код
Ответ: -172.27510 = 11111111111111111111111111111111111111111111111111111111010101002 (8 байт)