如何知道二进制数是否除以3?

我想知道二进制系统中是否有除以3的可除法则。

例如:以十进制表示,如果数字总和除以3,则数字除以3。例如,示例:除以3,则15 -> 1+5 = 6 -> 615除以3。

需要了解的重要一点是,我不是在寻找会这样做的代码。.bool flag =(i%3 == 0);

不是我要找的答案。我寻找的东西就像十进制定律一样容易被人做。

回答:

请访问此网站:如何判断二进制数是否可被三除

基本上计算非零奇数位和非零偶数位 。如果它们的差可被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 = 22*1 =

2模3。继续模式,我们注意到对于2^nn奇数,2^n是全等的1 mod 3,对于n甚至是全等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整除。

以上是 如何知道二进制数是否除以3? 的全部内容, 来源链接: utcz.com/qa/424299.html

回到顶部