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

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

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

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

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

120032
-1200260012
1-600030002
1-300015002
0-15007502
0-7503752
0-3741872
1-186932
1-92462
1-46232
0-22112
1-1052
1-422
1-21
0
Перевод чисел из одной системы счисления в другую

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

Перевод чисел из одной системы счисления в другую
0.21345*2
0.4269*2
0.8538*2
1.708*2
1.415*2
0.8304*2
1.661*2
1.322*2
0.6432*2
1.286*2
0.5728*2

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

12003.2134510 = 10111011100011.00110110102

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

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

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

101110111000112 = 100000000000000000101110111000112

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

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

10000000000000000010111011100011 прямой код
11111111111111111101000100011100обратный код
+1+1 бит
11111111111111111101000100011101дополнительный код
Ответ: -12003.2134510 = 111111111111111111010001000111012 (4 байт)