Ita*_*aha 13 algorithm math binary
我想知道二元系统中是否存在除以3的任何可分规则.
例如:在十进制中,如果数字总和除以3,则数字除以3.例如:15 -> 1+5 = 6 -> 6除以3,因此15除以3.
需要了解的重要一点是,我不会寻找能够这样做的代码.bool flag =(i%3 == 0); 不是我正在寻找的答案.我寻找人类容易做的事情,就像十进制定律一样.
Ben*_*Lin 32
请参阅此网站:如何判断二进制数是否可被三除尽
基本上计算从右边开始的非零奇数位数和非零偶数位数位的数量.如果它们的差异可以被3整除,则该数字可以被3整除.
例如:
15 = 1111它有2个奇数和2个偶数非零比特.差异为0.因此可以15被整除3.
185 = 10111001它有2个奇数非零位和3个偶数非零位.差异是1.因此185不能被整除3.
说明
考虑2^n价值观.我们知道这2^0 = 1是一致的1 mod 3.因此2^1 = 2是congurent 2*1 = 2mod 3.继续这个模式,我们注意到2^nn 在哪里是奇数,2^n是全等的1 mod 3,因为即使它是全等2 mod 3的-1 mod 3.因此10111001是全等的1*1 + 0*-1 + 1*1 + 1*-1 + 1*1 + 0*-1 + 0*1 + 1*-1mod 3是一致的1 mod 3.因此185不能被3整除.