Resultados da pesquisa a pedido "bit-shift"
Por que combinar dois turnos de um uint8_t produz um resultado diferente?
Alguém poderia me explicar o porquê: x = x << 1; x = x >> 1;e: x = (x << 1) >> 1;produzir respostas diferentes em C?x é um tipo * uint8_t * (número inteiro longo sem assinatura de 1 byte). Por exemplo, quando passo128 (10000000) no primeiro ...
turno esquerdo do c / c ++ não assinado versus assinado
Eu tenho esse código. #include <iostream> int main() { unsigned long int i = 1U << 31; std::cout << i << std::endl; unsigned long int uwantsum = 1 << 31; std::cout << uwantsum << std::endl; return 0; }Imprime. 2147483648 18446744071562067968na ...
Por que linguagens de alto nível, como C # / Java, mascaram o operando de contagem de deslocamento de bits?
Isso é mais um design de linguagem do que uma questão de programação. A seguir, um trecho deOperadores de turno JLS 15.19 [http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.19]: Se o tipo promovido do operando esquerdo ...
Bitshift em javascript
Eu tenho um número muito grande: 5799218898. E quero alterá-lo para 13 bits. Então, windows-calculator ou python me dá: 5799218898 >> 13 | 100010100100001110011111100001 >> 13 70791 | 10001010010000111Como esperado. Mas Javascript: 5799218898 ...
O que dois colchetes de ângulo esquerdo “<<” significam em C #?
Basicamente as perguntas no título. Eu estou olhando para o código-fonte MVC 2: [Flags] public enum HttpVerbs { Get = 1 << 0, Post = 1 << 1, Put = 1 << 2, Delete = 1 << 3, Head = 1 << 4 }e eu só estou curioso para saber o que os parênteses ...
Operadores de turno em C ++
Se o valor após o operador shift for maior que o número de bits no operando esquerdo, o resultado será indefinido. Se o operando do lado esquerdo não estiver assinado, o deslocamento da direita será um deslocamento lógico, de modo que os bits ...
Javascript equivalente ao PHP >>> deslocar para a direita com operadores de preenchimento zero em bits?
Posso saber como posso fazer o PHP >>>? Esses operadores não estão disponíveis em PHP, mas estão disponíveis em Javascript. Eu apenas consegui descobrir uma função da seguinte maneira: function zeroFill($a, $b) { $z = hexdec(80000000); if ($z & ...
Por que 1 << 31 foi alterado para ser definido na implementação em C ++ 14?
Em todas as versões do C e C ++ anteriores a 2014, escrever 1 << (CHAR_BIT * sizeof(int) - 1)causou um comportamento indefinido, porque o deslocamento para a esquerda é definido como equivalente à multiplicação sucessiva por2, e essa mudança ...
Mudança lógica negativa
Em Java, por que -32 >>> -1 = 1? Não é específico para apenas -32. Funciona para todos os números negativos, desde que não sejam muito grandes. Eu descobri isso x >>> -1 = 1 x >>> -2 = 3 x >>> -3 = 7 x >>> -4 = 15 dado 0> x> algum número negativo ...
Mudança rápida de bits de uma matriz de bytes - subchaves CMAC
Eu preciso implementar o mais rápido possível o deslocamento de bit esquerdo de uma matriz de 16 bytes emJavaCard. Eu tentei este código: private static final void rotateLeft(final byte[] output, final byte[] input) { short carry = 0; short i = ...