独孤NO小胖 发表于 2020-2-1 21:09:33

8.7求大佬解答

为啥被除数是16位,除数就是8位,被除数是32位,除数就是16位?

zltzlt 发表于 2020-2-2 09:50:37

独孤NO小胖 发表于 2020-2-2 18:16:44

zltzlt 发表于 2020-2-2 09:50


小甲鱼在视频里讲解过为什么被除数是32位时除数是16位,被除数是16位除数就是8位。但讲的太快了,没听懂{:10_278:}

LinuxDeepin 发表于 2020-2-3 11:18:47

独孤NO小胖 发表于 2020-2-2 18:16
小甲鱼在视频里讲解过为什么被除数是32位时除数是16位,被除数是16位除数就是8位。但讲的太快了,没听懂{ ...

与CPU原理有关系,没必要理解的,只需要知道规则即可

gang19840815 发表于 2020-2-8 19:30:38

学习

yjcoke 发表于 2020-2-10 14:21:03

我觉得主要是考虑到除法有可能出现商和余数两个数字结果,所以为匹配,应该就是这么规定了.

Fimbulex 发表于 2020-2-10 16:01:50

小甲鱼讲的那个我差不多听懂了。
是这样的,计算机是通过加法模拟乘法,再用乘法模拟除法。
什么意思呢,打个比方,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]
查看完整版本: 8.7求大佬解答