Articles of bit shift

¿El desplazamiento a la derecha aritmético da un resultado falso?

Debo estar absolutamente loco aquí, pero gcc 4.7.3 en mi máquina está dando el resultado más absurdo. Aquí está el código exacto que estoy probando: #include using namespace std; int main(){ unsigned int b = 100000; cout <>b) <> b; cout << b <>= b; cout << b << endl; return 0; } Ahora, cualquier […]

Comportamiento del desplazamiento a la derecha sin signo aplicado a la variable byte

Considere el siguiente fragmento de código java byte b=(byte) 0xf1; byte c=(byte)(b>>4); byte d=(byte) (b>>>4); salida: c=0xff d=0xff Rendimiento esperado: c=0x0f ¿cómo? como b en el 0x0f binario 1111 0001 después del desplazamiento a la derecha sin signo 0000 1111 por 0x0f tanto 0x0f pero ¿por qué es 0xff cómo?

Operadores de desplazamiento bit a bit. Firmado y sin firmar

Estoy practicando para el examen SCJP usando notas de cram de Internet. De acuerdo con mis notas, se supone que el operador >> está firmado con el desplazamiento a la derecha, con el bit de signo traído desde la izquierda. Mientras que el operador de desplazamiento a la izquierda << se supone que conserva el […]

unsigned right Shift ‘>>>’ Operador en Java

Posible duplicado: ¿Por qué es (-1 >>> 32) = -1? El operador de desplazamiento a la derecha sin signo inserta un 0 en el extremo izquierdo. Entonces cuando lo hago System.out.println(Integer.toBinaryString(-1>>>30)) salida 11 Por lo tanto, está insertando 0 en el bit más a la izquierda. System.out.println(Integer.toBinaryString(-1>>>32)) salida 11111111111111111111111111111111 ¿No debería ser 0?

Java: Comprobando si un bit es 0 o 1 en un largo

¿Qué método usarías para determinar si el bit que representa 2 ^ x es un 1 o 0?

¿Funciona la evaluación del comstackdor difieren para la expresión constante y otras expresiones

¿Por qué el código siguiente no se puede comstackr? package main import ( “fmt” “unsafe” ) var x int = 1 const ( ONE int = 1 MIN_INT int = ONE << (unsafe.Sizeof(x)*8 – 1) ) func main() { fmt.Println(MIN_INT) } Me sale un error main.go: 12: constante 2147483648 desborda int La statement anterior es […]

Tutorial Java “Bit Shifting”?

Estaría agradecido por un buen tutorial, que explique a los novatos de Java cómo en Java funciona todo el “cambio de bit”. Siempre me tropiezo con eso, pero nunca entendí cómo funciona. Debería explicar todas las operaciones y conceptos que son posibles con byteshifting / bitmanipulation en java. Esto es solo un ejemplo de lo […]

Java: desplazamiento a la derecha en número negativo

Estoy muy confundido sobre la operación de cambio a la derecha en el número negativo, aquí está el código. int n = -15; System.out.println(Integer.toBinaryString(n)); int mask = n >> 31; System.out.println(Integer.toBinaryString(mask)); Y el resultado es: 11111111111111111111111111110001 11111111111111111111111111111111 ¿Por qué derecho cambiar un número negativo por 31, no 1 (el bit de signo)?

¿La multiplicación y división utilizando operadores de cambio en C es realmente más rápida?

La multiplicación y la división se pueden lograr utilizando operadores de bits, por ejemplo i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) y así. ¿Es realmente más rápido usar decir (i<<3)+(i<<1) multiplicar con 10 que usar i*10 directamente? ¿Hay algún tipo de entrada que no se pueda multiplicar o dividir […]

¿Qué es el operador JavaScript >>> y cómo lo usas?

Estaba mirando el código de Mozilla que agregaba un método de filtro a Array y tenía una línea de código que me confundía. var len = this.length >>> 0; Nunca he visto >>> usado en JavaScript antes. ¿Qué es y para qué sirve?