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

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

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

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

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

Перевод чисел из одной системы счисления в другую
0.0005807*2
0.001161*2
0.002323*2
0.004646*2
0.009291*2
0.01858*2
0.03716*2
0.07433*2
0.1487*2
0.2973*2
0.5946*2

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

0.000580710 = 0.00000000002

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

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

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

02 = 10000000000000002

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

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

1000000000000000 прямой код
...............
1111111111111111обратный код
+1+1 бит
1000000000000000дополнительный код
Ответ: -0.000580710 = 10000000000000002 (2 байт)