提问人:Kangkue 提问时间:2/13/2023 最后编辑:Kangkue 更新时间:2/14/2023 访问量:87
计算二进制实数
Calculate binary real number
问:
关于小数,我有话要问
我正在尝试计算二进制数。例如。101.01
2^3 2^2 2^1 2^0 (dot/point) 2^-1 2^-2 2^-3
就像图片中一样,如果在左边(点),指数是正的 如果在右边(点),则指数为负。
要计算点左侧的数字,是必需的。
101 = 2^0 + 2^2 = 5
并计算点右侧的数字。
01 = 2^-2 = 0.25
我的问题是为什么负数的指数不是 0 (2^0),
而正数的指数为 0。
0 不是中性数,既不是正数也不是负数吗?
答:
这在十进制(常规数字)中的工作方式相同
例如,您可以有 5 个 which = ,或者为了完整起见,我们可以说 05.0 = 。这些数字都不是负数。指数为负数。5*10^0
0*10^1 + 5*10^0 + 0*10^0
令人困惑的是,数字本身不是负数,而一些指数是负数。我们也可以把它写成05.0
05.0=0*10 + 5*1 + 0*1/10
回到你的例子,因此,我们可以通过将整个内容写成一个单一的总结来消除混淆。具体如下:101.01
1*(2*2) + 0*(2) + 1*(2/2) + 0*(1/(2)) + 1*(1/(2*2)) = 1*4 + 1*1 + 1/4 = 5.25
我认为简短的回答是,因为 .
或基数点与“中性”点并不完全一致。
较长的答案首先回顾一下您可能已经知道的内容:
实数线在 0 附近对称表示加法。0 是“中性点”,既不是正也不是负。(数学家说 0 是“加性恒等式”。
正数在 1 附近对称表示乘法。1是“中性点”。(数学家说 1 是“乘法恒等式”。
在功率方面,这两个系统非常非常吻合。这就是您链接的图像试图显示的内容。我通常认为表格是这样的:
N | 10N | 2牛顿米 | |||
---|---|---|---|---|---|
3 | 103 | 1000 | 23 | 8 | |
2 | 102 | 100 | 22 | 4 | |
1 | 101 | 10 | 21 | 2 | |
0 | 100 | 1 | 20 | 1 | |
-1 | 10-1 | 0.1 | 2-1 | ½ | |
-2 | 10-2 | 0.01 | 2-2 | ¼ | |
-3 | 10-3 | 0.001 | 2-3 | ⅛ |
这张表的中间一行——N = 0 行——是中心点或枢轴点或“中性”行,即一切都是对称的行,N = 0 和 XN = 1。(如果我知道如何在 Stack Overflow markdown 中为这一行着色,我会以不同的方式着色。
我不是一个数学家,不能说它是否天生就必须这样。我记得,当我第一次学习这些东西时,X0 应该意味着什么并不明显,或者 X 升到负数的幂。但是当你画出那张表,并观察模式时,你可以看到 X0 必须是 1,因为当你向下移动列时,你会反复除以 10 或 2(就像你在链接的图像中向右移动时一样)。
另一件需要注意的事情是 X-N 始终等于 1/XN。这最终显示了 X 提高到负幂应该意味着什么,这是另一种方式,即乘法在 1 附近是对称的,并且在 0 附近与加法对称。
但是,回到你的问题,你是对的:当你使用位置符号系统写一个分数时,比如
101.01
角色并不完全处于“中立点”。它的左边是中性点,右边的一切都是负的。我不知道有什么令人满意的方法来解释这种差异。.
.
.
你可以想象以更对称的方式标记“中性点”的替代符号,比如 10{1}01,或者在中间 1 下方用点或条形,但我从未听说过这样的事情。 (这可能让人想起阿拉伯语中使用辅音上方的点表示元音的方式。 在常见的对数表中也使用了“条形符号”,尽管这也是一种不同的野兽。
附录:在评论中,你问了另外几个例子,虽然恐怕我不太确定你在问什么。我将使用 nonce {} 表示法呈现这些示例,并将它们转换回十进制,如下所示:
2³ 2² 2¹ 2⁰ 2⁻¹ 2⁻² 2⁻³
8 4 2 1 ½ ¼ ⅛
0 0 0 1
0b0.01 → 0{0}01 = 0 + 0 + 0 + ¼ = ¼ = 0.25
1 1 0 1 1 0 1
0b1101.101 → 110{1}101 = 8 + 4 + 0 + 1 + ½ + 0 + ⅛ = 13⅝ = 13.625
1 0 1 0 1
0b101.01 → 10{1}01 = 4 + 0 + 1 + 0 + ¼ = 5¼ = 5.25
8 4 2 1 ½ ¼ ⅛
对我来说,这一切都是非常有规律和一致的。我把东西排成一行,使 2⁰ = 1 正好在中间运行,这始终是随机数符号中要括起来的地方。{}
评论
0.25
0.01
0{0}1
{0}01
13.625 = 110{1}.101
7
1
101
10{1}
0
1
0.25 = 0.01
{0}.01 = 1 (because 2^0) .25
{0}01
0{0}01
110{1}101
11{1}
0b0.01
0{0}01
上一个:C 浮点到定点转换
评论
pow(2,0)
2^3 2^2 2^1 2^0 (dot/point) 2^-1 2^-2 2^-3