8.7求大佬解答
为啥被除数是16位,除数就是8位,被除数是32位,除数就是16位? ? zltzlt 发表于 2020-2-2 09:50?
小甲鱼在视频里讲解过为什么被除数是32位时除数是16位,被除数是16位除数就是8位。但讲的太快了,没听懂{:10_278:} 独孤NO小胖 发表于 2020-2-2 18:16
小甲鱼在视频里讲解过为什么被除数是32位时除数是16位,被除数是16位除数就是8位。但讲的太快了,没听懂{ ...
与CPU原理有关系,没必要理解的,只需要知道规则即可 学习 我觉得主要是考虑到除法有可能出现商和余数两个数字结果,所以为匹配,应该就是这么规定了. 小甲鱼讲的那个我差不多听懂了。
是这样的,计算机是通过加法模拟乘法,再用乘法模拟除法。
什么意思呢,打个比方,36/6=6。它在计算机里其实是用除数6去乘以1得6然后发现比36小,然后再6*2=12发现还比36小,再用6*3以此类推直到6*6=36
那至于为什么被除数位数比除数大,打个比方10000/100=100,除数100放在一个字节里没有问题,但是你被除数呢?10000>256-1(一个字节所能存放的最大数据255)那就放不下,就会选择用一个字来存放,16位的话只要比65535小就能存下。
我是这样想的。
页:
[1]