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

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

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

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

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

Перевод чисел из одной системы счисления в другую
0.02128*2
0.04256*2
0.08512*2
0.1702*2
0.3405*2
0.681*2
1.362*2
0.7238*2
1.448*2
0.8954*2
1.791*2

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

1.0212810 = 1.00000101012

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

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

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

12 = 10000000000000012

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

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

1000000000000001 прямой код
1111111111111110обратный код
+1+1 бит
1111111111111111дополнительный код
Ответ: -1.0212810 = 11111111111111112 (2 байт)