Pregunta

Estoy tratando de realizar la aritmética usando solo palabras firmadas de 16 bits. Necesito poder realizar la adición, la multiplicación, etc.

Como ejemplo, necesito restar dos valores de datos, a continuación hay un ejemplo: 7269.554688-46.8 o 4385.6616210938 + 32.2

Sin embargo, estos valores deben convertirse en palabras de 16 bits y luego se puede realizar la resta, la multiplicación o la adición.

También podría usar varias palabras de 16 bits para almacenar un valor.

¿Cómo haría para realizar operaciones como suma, resta y multiplicación y cómo convertiría todos mis valores de entrada adecuadamente para que los puntos decimales siempre se alineen correctamente?

¿Fue útil?

Solución

¿Para qué plataforma estás codificando? Para realizar las operaciones que ha dado como ejemplo, necesitaría una unidad de punto flotante. Los números de puntos flotantes generalmente se representan a través de 32 bits o 64 bits, rara vez 16 bits.

Si no tiene una y todas las que tiene son operaciones simples en enteros de 16 bits, podría emular una unidad de punto flotante, pero esa no es una tarea trivial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top