鱼C论坛

 找回密码
 立即注册
查看: 743|回复: 6

[已解决]这不科学啊?16进制乘除难道不是互为逆运算吗?

[复制链接]
发表于 2023-4-28 19:33:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
师哥师姐,江湖救急:
为什么:10001H/16=BA2H,而BA2H*16=FFECH
10001H≠FFECH的嘛?怎么回事呢?
最佳答案
2023-4-28 19:41:23
你好!这里的问题出在你的计算过程上。首先,我们来看一下16进制的乘除法运算。

10001H(16进制)可以转换为十进制,这样就可以更容易地进行计算。10001H = 1×16^4 + 0×16^3 + 0×16^2 + 0×16^1 + 1×16^0 = 65536 + 1 = 65537(十进制)。

现在我们计算 10001H / 16:
65537 / 16 = 4096余1(十进制)
所以,10001H / 16 = 1001H(16进制)

接下来我们计算 BA2H * 16:
BA2H = 11×16^2 + 10×16^1 + 2×16^0 = 2816 + 160 + 2 = 2978(十进制)
2978 * 16 = 47648(十进制)

将47648转换为16进制:47648 = 2×16^4 + 15×16^3 + 14×16^2 + 8×16^1 + 0×16^0,所以47648(十进制)= 2FEC0H(16进制)

所以你的计算是错误的,正确的计算应该是:
10001H / 16 = 1001H
BA2H * 16 = 2FEC0H

16进制的乘法和除法确实是互为逆运算。从这个例子可以看出,10001H ≠ BA2H * 16。希望这个解释能帮助你理解问题。如果你还有其他疑问,请随时提问!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-28 19:35:35 | 显示全部楼层
是整数除法吧,余数被舍去了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

匿名鱼油
匿名鱼油  发表于 2023-4-28 19:36:46
本帖最后由 匿名 于 2023-4-28 19:43 编辑

这是因为计算机在进行除法运算时,会将商向下取整。即在10001H/16的运算中,计算机会将结果的小数部分舍去,得到625H作为商。而在BA2H*16的乘法运算中,则相当于将BA2H左移4位(在二进制中相当于乘以16),得到FFE0H。再加上后面一个字节CH,就得到了FFECH。

所以说,16进制乘除仍然是互为逆运算的,但是需要注意计算机进行除法运算时会向下取整的特点。最终结果应该与我们在手动计算时得出的结果是一致的。
回复 支持 反对

使用道具 举报

发表于 2023-4-28 19:41:23 | 显示全部楼层    本楼为最佳答案   
你好!这里的问题出在你的计算过程上。首先,我们来看一下16进制的乘除法运算。

10001H(16进制)可以转换为十进制,这样就可以更容易地进行计算。10001H = 1×16^4 + 0×16^3 + 0×16^2 + 0×16^1 + 1×16^0 = 65536 + 1 = 65537(十进制)。

现在我们计算 10001H / 16:
65537 / 16 = 4096余1(十进制)
所以,10001H / 16 = 1001H(16进制)

接下来我们计算 BA2H * 16:
BA2H = 11×16^2 + 10×16^1 + 2×16^0 = 2816 + 160 + 2 = 2978(十进制)
2978 * 16 = 47648(十进制)

将47648转换为16进制:47648 = 2×16^4 + 15×16^3 + 14×16^2 + 8×16^1 + 0×16^0,所以47648(十进制)= 2FEC0H(16进制)

所以你的计算是错误的,正确的计算应该是:
10001H / 16 = 1001H
BA2H * 16 = 2FEC0H

16进制的乘法和除法确实是互为逆运算。从这个例子可以看出,10001H ≠ BA2H * 16。希望这个解释能帮助你理解问题。如果你还有其他疑问,请随时提问!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2023-4-28 20:07:38 | 显示全部楼层
isdkz 发表于 2023-4-28 19:41
你好!这里的问题出在你的计算过程上。首先,我们来看一下16进制的乘除法运算。

10001H(16进制)可以转 ...

只能说这个回答的内容连自洽的基本要求都达不到…更奇怪如果将除数16当作十进制话何来的“将被除数转换为十进制会更容易计算”一说
合理怀疑没看内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

匿名鱼油
匿名鱼油  发表于 2023-4-28 20:45:46
dolly_yos2 发表于 2023-4-28 20:07
只能说这个回答的内容连自洽的基本要求都达不到…更奇怪如果将除数16当作十进制话何来的“将被除数转换为 ...

我的呢(3楼)
回复 支持 反对

使用道具 举报

发表于 2023-4-28 21:41:46 | 显示全部楼层
dolly_yos2 发表于 2023-4-28 20:07
只能说这个回答的内容连自洽的基本要求都达不到…更奇怪如果将除数16当作十进制话何来的“将被除数转换为 ...

这是GPT的回答内容罢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-26 13:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表