(LC) 191. El número de bits 1

191. Número de bit 1

Escriba una función, la entrada es un entero sin signo (en forma de cadena binaria) y devuelve el número de dígitos en la expresión binaria cuyos dígitos son '1' (también conocido como peso de Hamming).

inmediato:

Tenga en cuenta que en algunos lenguajes (como Java), no hay ningún tipo de entero sin signo. En este caso, tanto la entrada como la salida se designarán como tipos de enteros con signo y no deberían afectar su implementación, porque la representación binaria interna es la misma independientemente de si el entero tiene o no signo.
En Java, el compilador usa la notación de complemento a dos para representar enteros con signo. Por lo tanto, en el ejemplo 3 anterior, la entrada representa un entero con signo -3.

Ejemplo 1:

Entrada: 00000000000000000000000000001011
Salida: 3
Explicación: En la cadena binaria de entrada 00000000000000000000000000001011, un total de tres bits son '1'.
Ejemplo 2:

Entrada: 00000000000000000000000010000000
Salida: 1
Explicación: En la cadena binaria de entrada 00000000000000000000000010000000, un total de un bit es '1'.
Ejemplo 3:

Entrada: 11111111111111111111111111111111101
Salida: 31
Explicación: En la cadena binaria de entrada 11111111111111111111111111111101, un total de 31 bits son '1'.

inmediato:

La entrada debe ser una cadena binaria de longitud 32.

 public int hammingWeight(int n) {
    
    
        int count=0;
        while(n!=0) {
    
    
            n &= n-1;
            count++;
        }
        return count;
    }
```
 

Supongo que te gusta

Origin blog.csdn.net/weixin_45567738/article/details/115076437
Recomendado
Clasificación