tabla sistema numeros matematicas funciona ejemplos como codigo calculadora binarios binario binaria algorithm math binary

algorithm - sistema - ¿Cómo saber si un número binario se divide por 3?



sistema octal (1)

Consulte este sitio web: Cómo saber si un número binario es divisible por tres

Básicamente, cuente el número de bits de posiciones impares diferentes de cero y bits de posición pares distintos de cero de la derecha . Si su diferencia es divisible por 3, entonces el número es divisible por 3.

Por ejemplo:

15 = 1111 que tiene 2 bits impares y 2 bits no nulos. La diferencia es 0. Por lo tanto, 15 es divisible por 3 .

185 = 10111001 que tiene 2 bits impares distintos de cero y 3 bits incluso distintos de cero. La diferencia es 1. Por lo tanto, 185 no es divisible por 3 .

Explicación

Considere los 2^n valores. Sabemos que 2^0 = 1 es congruente 1 mod 3 . Así 2^1 = 2 es congurent 2*1 = 2 mod 3. Continuando con el patrón, notamos que para 2^n donde n es impar, 2^n es congruente 1 mod 3 y para incluso es congruente 2 mod 3 que es -1 mod 3 . Por 10111001 tanto, 10111001 es congruente 1*1 + 0*-1 + 1*1 + 1*-1 + 1*1 + 0*-1 + 0*1 + 1*-1 mod 3 que es congruente 1 mod 3 . Por lo tanto, 185 no es divisible por 3.

Quiero saber si hay alguna regla divisible en el sistema binario para dividir por 3.

Por ejemplo: en decimal, si la suma de dígitos está dividida por 3, entonces el número se divide por 3. Por ejemplo: 15 -> 1+5 = 6 -> 6 está dividido por 3, por lo que 15 se divide por 3.

Lo importante de entender es que no estoy buscando un CÓDIGO que lo haga ... bool flag = (i% 3 == 0); no es la respuesta que estoy buscando. Busco algo que a los humanos les resulte fácil hacer exactamente como la ley decimal.