这个问题和计算机底层有关
计算机用来判断的条件就是通电和没有通电,用数字来表示就是1和0,一共两个。
1可以用0001表示,2可以用0010表示,3可以用0011表示,4可以用0100表示...以此类推.
由此可见,如果当前二进制的数列中有N个有效数字,计算机在遇到2的N次方的时候,就必须进位。
计算机的整数和小数是分开计算的。整数存储于int中,小数存在float里面
当小数位为1时,1便可以再对2取模,取出0100 0000 0000....0000,循环大约几微秒的时间,就会循环到float的极限值。
此时再取模,就会取到2.
(本篇叙述理论来源于C++,实践理论来源于C++,请务必按您的实际情况为准)
追问您的回答中“当小数位为1时,1便可以再对2取模”这句话是什么意思呢?
追答因为1不是0嘛,还要继续取模,取出来就是1
你也可以理解成二进制逢2进位