Multiplicación por suma de series de potencia con términos negativos

¿Cómo puedo calcular un multiplicando de coma flotante en Verilog? Hasta ahora, generalmente uso shift << 1024, luego el número de coma flotante se convierte en entero. Luego hago algunas operaciones, luego >> 1024 para obtener una fracción de nuevo.

Por ejemplo 0.3545 = 2 ^ -2 + 2 ^ -4 + ...

Tengo una pregunta sobre otra forma, como esta. No sé de dónde viene el signo menos (-):

0.46194 = 2 ^ -1 - 2 ^ -5 - 2 ^ -7 + 2 ^ -10.

Acabo de ver esto de alguien. pero a tu manera, eso se representa así

0.46194 = 2 ^ -2 + 2 ^ -3 + 2 ^ -4 + 2 ^ -6 + 2 ^ -, 7 + 2 ^ -10 + .....

No entiendo cómo sabe que se usa el signo menos.

¿Cómo sabemos cuándo se necesita el menos? Además, ¿cómo puedo aplicar a verilog RTL?

ACTUALIZACIÓN: Entiendo el concepto de usar menos en la operación. Pero, ¿hay alguna otra forma de ecuación o metodologías que hacer para reducir la expresión que multiplicar con una potencia de 2?

ACTUALIZACIÓN: ¿cómo podemos usar este método en verilog? por ejemplo, me he inclinado 0.46194 = 2 ^ -1 - 2 ^ -5 - 2 ^ -7 + 2 ^ -10. entonces este código se escribió así en verilog. 0.011101101 = 'hED =' d237. Entonces, el punto de la pregunta es ¿cómo podemos aplicarlo a la aplicación en verilog?

ACTUALIZACIÓN: Señor, ¿podría comprobar esto? Hay una pequeña diferencia en el resultado.

0.46194 = 0.011101101. Solo intenté así0.0111011010.100T10T01= 2 ^ -1 - 2 ^ -4 + 2 ^ -5 - 2 ^ -7 + 2 ^ -9. = 0.462890625

Algo diferente. Que me equivoco

Respuestas a la pregunta(2)

Su respuesta a la pregunta