Cuidado com números em Ponto Flutuante
Quanto seria (200*0,7) + 200? 340 você diria? Então você deve ler este artigo. Dependendo da situação esta operação matemática não resultará em 340. Absurdo? Quem programa em linguagem de programação C deve ficar atento!
[ Hits: 125.874 ]
Por: Elgio Schlemer em 20/03/2008 | Blog: http://profelgio.duckdns.org:8080/~elgio
1000 = 00000000 00000000 00000011 11101000 byte +SIG byte -sigO byte menos significativo de 1000 é 11101000 que se lido separadamente, apenas ele, resulta no decimal 232. Como c tem a possibilidade de apenas um byte, é apenas este byte que é atribuído ao c.
11101000 => 00010111 (232 complementado) 00010111 + 1 =00011000 (24 em decimal)O compilador C faz o tempo todo conversões implícitas, seja inserindo bytes em 0 (para conversão de char para int SEM sinal), seja inserindo bytes em 1 (para conversão de char para int COM SINAL) ou cortando bytes:
char a; int x; a = -2; /* em binário 11111110 */ x = a; /* x deve ter -2, que em binário 32 bits é 11111111 11111111 11111111 11111110 Neste caso o C inseriu três bytes em UM para fazer com que o x tivesse -2. Se ele inserisse três bytes em ZERO x teria 254 e não -2. Ele, o C, faria isto se o a fosse declarado como unsigned: unsigned char a; */
Autenticação por desafio e resposta no SSH
Criptografia chave simétrica de bloco e de fluxo
Armazenamento de senhas no Linux
Ponteiros - Saindo de Pesadelos
Desenvolvendo para microcontroladores em GNU/Linux
Instalando Facebook Folly através do Conan
Máquina perereca - até onde é possível o uso de Linux?
Mitigação - O que é e quando é "seguro" desabilitar
Atualizar Debian Online de uma Versão para outra
A arte e a prática da Disciplina a longo prazo
Topgrade - Atualize seu sistema Linux inteiro com um único comando
Site com diversos emojis para seus códigos
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
O que você está ouvindo agora? [2] (200)
A escola é altamente ineficiente e ineficaz! (7)