如何判断一个二进制数N= a6a5a4a3a2a1能否被8整除

来源:百度知道 编辑:UC知道 时间:2024/06/07 09:38:08
。。。。。。RT 654321为角标
请给出解题过程。。。 为嘛呢

末尾三位a3a2a1,如果都是0,此数字即可被8整除。
-----------
为嘛呢? 先从简单的说。

什么样的二进制数可以被2整除呢?
肯定是:最末一位数是0的。 末尾数要是1,除以2,肯定余1!

什么样的二进制数可以被4整除呢?
肯定是:末尾2位数是0的。 末2位数是几,除以4,肯定余几!

现在就可以看出,什么样的二进制数可以被8整除。
----
深入的说。
如果:
N = a6*2^5 + a5*2^4 + a4*2^3 + a3*2^2 + a2*2^1 + a1*2^0
应有:
N/8 = a6*2^2 + a5*2^1 + a4*2^0 + a3*2^(-1) + a2*2^(-2) + a1*2^(-3)

式中的:a3*2^(-1) + a2*2^(-2) + a1*2^(-3)
各项是小于1的,是小数。
如果a3a2a1都为0,那么是小数部分为0,只有整数部分了,即可整除。

二进制除2相当于整体左移一位
除8,就是移3位,当且仅当最低三位为0时,能够整除

最低三位是否为0 就是判断标准