bit-shift

¿Qué son los operadores bitwise shift (bit-shift) y cómo funcionan?

He estado intentando aprender C en mi tiempo libre, y otros lenguajes (C#, Java, etc.).) tienen el mismo concepto (y a menudo ... han alrededor de la curva? En otras palabras, una guía absoluta para principiantes sobre el cambio de bits en toda su bondad.

¿Dos veces más rápido que bit shift?

Estaba mirando la fuente de sorted_containers y me sorprendió ver esta línea : self._load, self._twice, self._half = loa ... xhaustividad, aquí hay ejemplos de ilustraciones para x más grandes cuando no se aplican optimizaciones de multiplicación.

¿Qué es el operador>= en C?

Dado por un colega como un rompecabezas, no puedo averiguar cómo este programa C realmente compila y se ejecuta. ¿Qué es este ... int a[2]={ 10, 1 }; while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] ) printf("?"); return 0; }

¿La multiplicación y la división usando operadores de cambio en C son realmente más rápidas?

La multiplicación y la división se pueden lograr utilizando operadores de bits, por ejemplo i*2 = i<<1 i*3 = (i<< ... ltiplicar por 10 que usar i*10 directamente? ¿Hay algún tipo de entrada que no se pueda multiplicar o dividir de esta manera?

¿Cómo se imprime "hola mundo"?

Descubrí esta rareza: for (long l = 4946144450195624l; l > 0; l >>= 5) System.out.print((char) (((l & 31 | 64) % 95) + 32)); Salida: hello world ¿Cómo funciona esto?

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

Estaba buscando código de Mozilla que agrega un método de filtro a la matriz y tenía una línea de código que me confundió. var len = this.length >>> 0; Nunca he visto >>> usado en JavaScript antes. ¿Qué es y qué hace?

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

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

Operadores bitwise y " endianness"

¿Importa la endianidad con las operaciones bitwise? ¿lógico o cambiante? Estoy trabajando en la tarea con respecto a los ... a mayoría lo son), pero ¿esto necesita ser considerado o es un hecho desperdiciado? En caso de que importe, estoy usando C.

advertencia: cuenta de desplazamiento izquierdo> = ancho del tipo

Soy muy nuevo en el manejo de bits y me he quedado atascado en la siguiente advertencia al compilar: 7: warning: left shi ... 8 = 64 bits de largo. ¿Qué me estoy perdiendo aquí? ¿Son sizeof y CHAR_BIT inexactos o he malinterpretado algo fundamental?

¿Qué significan dos corchetes de ángulo izquierdo "< < " en C#?

Básicamente las preguntas del título. Estoy mirando el código fuente de MVC 2: [Flags] public enum HttpVerbs { Get = 1 ... t;< 3, Head = 1 << 4 } Y tengo curiosidad por saber qué hacen los soportes de ángulo izquierdo doble <<.

¿Por qué usar el operador Bitwise-Shift para valores en una definición de enumeración C?

Apple a veces usa el operador Bitwise-Shift en sus definiciones enum . Por ejemplo, en el CGDirectDisplay.h archivo que form ... uint32_t CGDisplayChangeSummaryFlags; ¿Por qué no simplemente usar incrementar int's como en una enumeración "normal" ?

¿Qué hace Y 0xFF?

En el siguiente código: short = ((byte2 << 8) | (byte1 & 0xFF)) ¿Cuál es el propósito de &0xFF? Porque otras veces lo veo escrito como: short = ((byte2 << 8) | byte1) Y eso parece funcionar bien también?

¿Por qué se cambió 1 <31 para que se definiera como implementación en C++14?

En todas las versiones de C y C++ anteriores a 2014, escribiendo 1 << (CHAR_BIT * sizeof(int) - 1) Causó un comporta ... no portable para escribir 1 << 31 (en un sistema con int de 32 bits). Entonces, ¿por qué se hizo este cambio en C++14?

Aritmética desplazamiento a la derecha da 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 ex ... / sin signo ), pero de alguna manera aquí está mi salida: 100000 100000 100000 ¿Estoy loco? ¿Qué podría estar pasando?

Es bit shifting O (1) o O(n)?

¿Son las operaciones de desplazamiento O(1) o O(n) ? ¿Tiene sentido que las computadoras generalmente requieran más operac ... stante independientemente de cuántos lugares necesitamos cambiar? PD: preguntándose si hardware es una etiqueta apropiada..

Necesita ayuda para entender el método" getbits () " en el Capítulo 2 de K & R C

En el capítulo 2, la sección sobre operadores bitwise (sección 2.9), estoy teniendo problemas para entender cómo funciona uno ... con el código y comprobando mis resultados usando calc.exe thank gracias a Dios que tiene una vista binaria!) Alguna ayuda?

Número negativo desplazado a la derecha en C

Tengo el código C en el que hago lo siguiente. int nPosVal = +0xFFFF; // + Added for ease of understanding int nNegVal = - ... 67 -65535 >> 1 = (int) -32767.5 = -32768 Es decir, -32767.5 se redondea a -32768. ¿Es correcto este entendimiento?

Aritmética bitwise shift derecha "a shr b" con números enteros firmados que se almacenan en variables-resultados incorrectos! ¿El bug interno de Delphi?

Tengo una pregunta (o más probablemente un informe de error) sobre el comportamiento de cambio de bits en Delphi (probado en ... P. P. S. Muchas gracias a Stack Exchange Equipo para asistencia en la publicación de este artículo. ¡Chicos, sois geniales!

¿Debo bit-shift para dividir por 2 en Java? [duplicar]

Posibles Duplicados:Es el desplazamiento de bits más rápido que multiplicar y dividir en Java? . NET?Pregunta rápida de Op ... por dos en una operación de cambio de bits, o debo realizar manualmente la operación de cambio de bits en el código yo mismo?

Diferencia entre SHL y SAL en 80x86

He aprendido a trabajar con ensamblador 80x86, por lo que en la operación de cambio de bits, me enfrenté a un problema con el ... mo sigue : MOV X, 0AAH SAL X, 4 MOV X, 0AAH SHL X, 4 ¿Cuándo debemos usar SHL y cuándo usar SAL? ¿Cuál es la diferencia?