【发布时间】:2013-10-30 20:23:44
【问题描述】:
Q=A/B , Q 是一个实数,表示为一对 8 位:
- 整数部分的最高有效 8 位
- 小数部分的最低有效 8 位
- 号码无符号
例如:
0 0 1 0 1 1 0 1 。 0 1 0 1 0 0 0 0
如果你知道 B,你能在纸上找到除法的余数吗?怎么样?
我举个例子:
2/172:
0000 0010 。 0000 0000 /
1010 1100 。 0000 0000
=0000 0000 。 0001 0010
0000 0000 。 0001 0010 *
1010 1100 。 0000 0000
=0000 0000 。 1100 0001(应该是 2,或者至少大于 1.5)
【问题讨论】:
-
这个问题和编程有什么关系?就因为涉及到二进制?
-
我正在尝试在 Verilog 中做某事,但我无法使用 ceil 或 floor 函数...它们无法合成
-
要找到余数,除了B,你还必须知道A或Q。你知道哪个?
-
A、B、Q我都认识
-
那么
A-B*floor(Q)不给你答案吗?鉴于您的陈述,floor(Q) = Q & 0xFF00(即清除 8 个 LSB)。