Programar em C/Operadores: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Petrusz1 (discussão | contribs)
Petrusz1 (discussão | contribs)
Linha 128:
 
 
'''pergunta''':Voçê gostavapoderia dese saberperguntar: comoComo é que eleso conseguemcomputador fazerfaz estasessa relações.comparação ie,? comode onde é que inserindo qualquer número ele depoissabe outroque conseguemum dizernúmero que umA é superiormaior ouque outro B?
'''Resposta''': Considere que você quisesse comparar dois dados tipo char, lembrando que um char na verdade é um número inteiro na tabela ASCII. Sendo assim suponha que gostarias de comparar o caractere 'a' que é igual a 97 na tabela ascii com o caractere 't' que é 116 na tabela; assim, ao comparar 97 com 116 o que aconteçe na memória é a comparação de 01100001 (97) com 01110100 (116) em um registrador específico, vão sendo somadas as potências de 2 da esquerda para a direita de forma que fica evidente para ele (o registrador) quem é maior. Isso é o que aconteçe quando comparamos duas strings com a função strcmp e ela retorna um número para a diferença entre elas. Esse número é justamente a diferença entre os valores da tabela ASCII entre o primeiro caractere das duas.
Bem não podem ter todos os números dentro do computador mas suspeito que deva ser porque inseriram os dígitos de 0 a 9 e ordenaram, e depois acrescentaram o critério de posição de dígito.
 
 
notar o == que é a comparação de igualdade. o = é de atribuição.