Enviar um café pro programador

Pode me ajudar a transformar cafeína em código?

Sistema binário e Valores lógicos true ou false

Nessa simples aula de nosso curso C Progressivo, vamos falar sobre o sistema de numeração binária e dos valores lógicos, ou booleanos, true ou false.

Este é um artigo muito importante de nossa apostila de C, pois o sistema binário é de suma importância no ramo da programação.

Computadores e o sistema binário

Se já teve algum contato, por menor que seja, com computação, já deve ter ouvido falar no sistema de numeração binária.
Ele é a base de toda a computação, e, obviamente, da programação também. Ou seja, tudo que envolve linguagens de programação e hardware, tem a ver com o sistema binário.

E podemos ir mais além, tudo na tecnologia moderna, como seu computador inteiro, tablet, celular, TV Digital e o que mais existir, é baseado no sistema binário.

No dia-a-dia usamos o sistema decimal, podemos representar qualquer usando os algarismos: 0, 1, 2, 3, 4, 5, 6, 7, 8, e 9.
Já os computadores armazenam todo tipo de informação apenas por combinações dos números 1 ou 0.

Porém, não se assuste, não vamos entrar a fundo na matemática, só é preciso que saiba que para os computadores tudo se resume a números, tudo é bit: fotos, vídeos, textos, programas etc.




Valores lógicos: true ou false, 1 ou 0

E onde o sistema binário entra na programação C?
Pois bem, diferentes de outras linguagens, como Java e C#, a linguagem de programação C é de baixo nível.
Isso quer dizer que vamos entrar mais a fundo nos nossos computadores. Com a linguagem C vamos ter acesso, por exemplo, aos espaços de memória de nosso sistema, por isso não se assuste quando falarmos em bits com certa freqüência.

Como dito anteriormente, tudo se resume a 1 ou 0.
Porém, vamos dar outro significado a isso: de agora em diante o 0 representa "falso" e tudo diferente de 0 será, obviamente, "verdadeiro" (true).

Por exemplo: 1 + 1 = 2?
Resposta: verdadeiro. Como representamos algo verdadeiro em valores lógicos?
Através de qualquer número diferente de 0: 1, 2, 3, 1 milhão, -10 etc.

E 1 + 1 = 3?
Como representamos isso em valor lógico? Apenas de uma maneira: 0


Exemplo prático dos valores lógicos em computação

Com certeza você já deve ter usado algum programa que deu algum erro (principalmente se você usa o sistema operacional Windows).
Como bem deve se lembrar, deve ter visto algo do tipo: "Erro 144", "Error 221", "Problem: error 404", etc.

Pois bem, em programação quando um programa roda, ele geralmente termina dando um resultado, em forma de número.
O mais comum é que quando o programa termina sem mais problemas, ele retorne o número 0.

Caso o programa termine com algum erro, ele geralmente retorna outro valor diferente de 0.
Por exemplo, caso tenha faltado energia e o programa tenha fechado subitamente, ele resulta no número 1.
Caso o sistema trave, ele gera o número 2.
Caso você digite algo que não deveria, ele produz o número 3.

Pra que tudo isso? Comunicação entre programas.
Sabendo o número de retorno, outros programas ou o próprio sistema saberá exatamente o que ocorreu, pois cada número quer dizer que ocorreu algo diferente.

Usaremos muito, mas muito mesmo esses valores lógicos durante nosso curso de linguagem C.

3 comentários:

Anônimo disse...

Ola! Parabéns pelo artigo, eu gostaria de saber mais sobre esses valores que os programas retornam para o sistema operacional ao terminar sua execução. Se possível me passar alguma fonte. . . Obrigado!

Unknown disse...

Me ajudou obrigado.

Unknown disse...


Por exemplo: 1 + 1 = 2?
Resposta: verdadeiro. Como representamos algo verdadeiro em valores lógicos?
Através de qualquer número diferente de 0: 1, 2, 3, 1 milhão, -10 etc.

E 1 + 1 = 3?
Como representamos isso em valor lógico? Apenas de uma maneira: 0



Não entendi essa parte, está meio confuso, não sei se entendi. Não devia ser:


Como representamos algo verdadeiro em valores lógicos?
Através de qualquer número diferente de 0: 1, 2, 3, 1 milhão, -10 etc.

Como representamos algo falso em valor lógico? Apenas de uma maneira: 0