Pular para o conteúdo principal

Sistema Binário

A única linguagem numérica que um circuito elétrico entende de verdade

O sistema binário é a base 2: só existem dois símbolos, 0 e 1. Parece limitado, mas é exatamente essa simplicidade que faz dele a linguagem nativa de qualquer computador.

Valor posicional em base 2

Assim como no decimal cada posição vale uma potência de 10, no binário cada posição vale uma potência de 2: 128, 64, 32, 16, 8, 4, 2, 1.

128×0 + 64×1 + 32×0 + 16×0 + 8×0 + 4×0 + 2×1 + 1×0 = 66

Ou seja, 01000010 em binário é o mesmo valor que 66 em decimal. Cada posição binária costuma ser chamada de bit — e um grupo de 8 bits é chamado de byte.

Experimente

Use o simulador abaixo para converter qualquer caractere, número decimal ou hexadecimal em binário — clique nas lâmpadas para alternar cada bit e veja o valor mudar em tempo real.

Caractere: "A" | DEC: 65 | HEX: 0x41 | BIN: 01000001

Bits (do mais ao menos significativo)

128×0 + 64×1 + 32×0 + 16×0 + 8×0 + 4×0 + 2×0 + 1×1 = 65

Caractere"A"
Decimal65
Hexadecimal0x41
Binário01000001

Entrada

Exemplos rápidos:

Digite uma tecla, ou edite os campos decimal/hexadecimal, ou clique em uma lâmpada para alternar o bit.

Tabela de referência ASCII
CharDecHexBin
' '320x2000100000
!330x2100100001
"340x2200100010
#350x2300100011
$360x2400100100
%370x2500100101
&380x2600100110
'390x2700100111
(400x2800101000
)410x2900101001
*420x2A00101010
+430x2B00101011
,440x2C00101100
-450x2D00101101
.460x2E00101110
/470x2F00101111
0480x3000110000
1490x3100110001
2500x3200110010
3510x3300110011
4520x3400110100
5530x3500110101
6540x3600110110
7550x3700110111
8560x3800111000
9570x3900111001
:580x3A00111010
;590x3B00111011
<600x3C00111100
=610x3D00111101
>620x3E00111110
?630x3F00111111
@640x4001000000
A650x4101000001
B660x4201000010
C670x4301000011
D680x4401000100
E690x4501000101
F700x4601000110
G710x4701000111
H720x4801001000
I730x4901001001
J740x4A01001010
K750x4B01001011
L760x4C01001100
M770x4D01001101
N780x4E01001110
O790x4F01001111
P800x5001010000
Q810x5101010001
R820x5201010010
S830x5301010011
T840x5401010100
U850x5501010101
V860x5601010110
W870x5701010111
X880x5801011000
Y890x5901011001
Z900x5A01011010
[910x5B01011011
\920x5C01011100
]930x5D01011101
^940x5E01011110
_950x5F01011111
`960x6001100000
a970x6101100001
b980x6201100010
c990x6301100011
d1000x6401100100
e1010x6501100101
f1020x6601100110
g1030x6701100111
h1040x6801101000
i1050x6901101001
j1060x6A01101010
k1070x6B01101011
l1080x6C01101100
m1090x6D01101101
n1100x6E01101110
o1110x6F01101111
p1120x7001110000
q1130x7101110001
r1140x7201110010
s1150x7301110011
t1160x7401110100
u1170x7501110101
v1180x7601110110
w1190x7701110111
x1200x7801111000
y1210x7901111001
z1220x7A01111010
{1230x7B01111011
|1240x7C01111100
}1250x7D01111101
~1260x7E01111110

Um número, infinitas representações

O valor 66 não muda dependendo de como você escreve ele — só a representação muda. É o mesmo princípio que você vai ver no octal e no hexadecimal: bases diferentes, usadas por conveniência em contextos diferentes, mas sempre representando a mesma quantidade.

Por que o computador usa binário?

Dentro de um computador existem bilhões de transistores — minúsculos interruptores elétricos. Um interruptor só tem dois estados possíveis: ligado ou desligado. É muito mais simples e confiável construir um circuito que distingue apenas "tem corrente" ou "não tem corrente" do que um que precisasse reconhecer 10 níveis diferentes de voltagem para representar os dígitos do decimal. Convencionou-se então: desligado = 0, ligado = 1.

Quer saber por que essa não foi a única opção?

Veja Computação Ternária — uma alternativa de base 3 que chegou a ser construída em escala, e por que o binário venceu de qualquer forma.