Porque quando vou realizar um deslocamento de bits para equerda sem sinal do numero inteiro 400 com 31 posições deslocadas o resultado é zero, e com 32 posições ele retorna o valor 400?
Alguém pode me ajudar?
Deslocamento de bits
S
1 Resposta
Existe um erro na sua afirmação de deslocamento sem sinal para a esquerda (unsigned left shift). Mas nos valores de exemplo o comportamento será o mesmo para todos os deslocamentos que você tentar.
Este comportamento é definido pela linguagem como protocolo de segurança, você não pode fazer um deslocamento de grandeza maior que o tipo sendo deslocado, sendo o excedente apenas desconsiderado na operação.
400 << 32 é o mesmo que 400 << 0.
Criado 8 de agosto de 2016
Ultima resposta 9 de ago. de 2016
Respostas 1
Participantes 2
Alura Git Flow: entenda o que é, como e quando utilizar Entenda o que é Git Flow, como funciona seu fluxo com branches como Master, Develop, Feature, Release e Hotfix, além de vantagens e desvantagens.
Casa do Codigo Ontologias e Web Semantica: Do conceito a aplicacao Por Ivam Galvao Filho — Casa do Codigo