【发布时间】:2015-02-12 17:13:13
【问题描述】:
这是一个基本问题,但我很困惑。
我有一个格式为 1.4.12 的寄存器。这意味着它需要一个浮点数并取范围 -15.9999 - 15.9999,这是正确的,还是有多少个 9?我对范围感到困惑。
我需要将 c++ 浮点数转换为定点数并将其放入寄存器中吗?在 C 中是否有任何 std:: 库可以做到这一点?如果没有,是否有任何人可以指出我的标准代码?
另外,如何将固定转换为浮动会很好?
【问题讨论】:
-
你在说什么“注册”? CPU 寄存器通常不会那样工作。
-
什么“注册”?你如何从那种“格式”中得到这些数字?到目前为止,您尝试过什么?
-
硬件在什么上注册?
-
二进制数不使用九作为限制。是一个二进制数。所以 .9999 是 9999/10000,在你的情况下它是 4095/4096。
-
我真的必须为你拼出来吗?范围是 +/- (15 + 4095/4096)。那是 -15.999755859375 到 15.999755859375。
标签: c++ math floating-point fixed-point