Ciência da Computação

Fundamentos essenciais: como a informação é representada, processada e transmitida por computadores.

O que você vai aprender

  • Bits, bytes e seus múltiplos
  • Binário, decimal e hexadecimal
  • Linguagem de máquina na prática
  • Arquitetura básica de computadores

Ferramentas interativas

  • Conversor Bin/Dec/Hex
  • Visualizador de Byte
  • Calculadora de armazenamento
  • Mini-VM de 8 bits

Bits, Bytes e Múltiplos

Um bit é a menor unidade de informação (0 ou 1). Um byte possui 8 bits. Múltiplos podem seguir padrões SI (kilo = 1000) ou IEC (kibi = 1024).

Visualizador de Byte

Ative/desative bits e veja os valores correspondentes.

Decimal: 0
Hex: 0x00
ASCII: N/A

Calculadora de Armazenamento

SI vs IEC

SI usa potências de 10 (kB, MB, GB). IEC usa potências de 2 (KiB, MiB, GiB). Sistemas operacionais e fabricantes podem exibir de formas diferentes.

Sistemas de Numeração

Computadores operam naturalmente em binário. Humanos preferem decimal; hexadecimal é útil como forma compacta de representar binário.

Conversor Bin/Dec/Hex

Dica: hex usa [0-9A-F]. Bin e hex aceitam espaços e sublinhados como separadores.

Lógica Booleana: operações como AND, OR, NOT, XOR combinam bits. Tabelas-verdade definem saídas para cada entrada possível.

Linguagem de Máquina (na prática)

Um programa em linguagem de máquina é uma sequência de instruções codificadas em números. Abaixo, uma VM simples de 8 bits para explorar conceitos.

Programa (hex)

Instruções da VM
  • 00: NOP
  • 1x: LDI A, x (carrega imediato em A)
  • 2x: LDI B, x
  • 30: ADD A, B
  • 31: SUB A, B
  • 40: STA [x] (armazena A em memória x) — requer byte seguinte x
  • 41: LDA [x] (carrega A de memória x) — requer byte seguinte x
  • 50: JMP x (salta para x) — requer byte seguinte x
  • 51: JZ x (salta se A==0) — requer byte seguinte x
  • FF: HLT

Memória de 256 bytes. Registradores: A, B. PC: contador de programa.

Estado

A: 00
B: 00
PC: 00
Flag Z: 0

Memória (hex)

Exemplo: Somar 5 + 7 e guardar em mem[0xF0].
15  ; LDI A, 0x5
27  ; LDI B, 0x7
30  ; ADD A, B
40 F0 ; STA [0xF0]
FF  ; HLT

Insira no editor: 15 27 30 40 F0 FF

Arquitetura Básica

  • CPU: executa instruções (controle, ALU, registradores, PC).
  • Memória: armazena dados e programas (hierarquia: registradores → cache → RAM → disco).
  • Entradas/Saídas: teclado, mouse, rede, displays.
  • Barramentos: comunicação entre componentes.
  • Instruções: ciclo buscar-decodificar-executar.

Memória e Armazenamento

DRAM (volátil), SSD/HDD (não volátil). Latência e largura de banda afetam desempenho. Endereçamento define como acessar dados.

Dica

Cache localiza dados acessados recentemente (localidade temporal e espacial), reduzindo latência média.

Redes em Breve

  • Modelo em camadas: Físico → Enlace → Rede (IP) → Transporte (TCP/UDP) → Aplicação (HTTP, DNS).
  • Endereços IP e portas identificam origem/destino.
  • Latência, jitter e perda impactam experiência.

Complexidade

Mede custo de algoritmos (tempo e espaço). Notação Big-O descreve crescimento assintótico: O(1), O(log n), O(n), O(n log n), O(n²)…

Linha do Tempo Essencial

  • 1936 — Máquina de Turing (conceito de computação).
  • 1940s — Primeiros computadores eletrônicos (ENIAC).
  • 1950s — Linguagens de alto nível (FORTRAN, COBOL).
  • 1970s — Microprocessadores, UNIX.
  • 1990s — Web popularizada; protocolos e navegadores.
  • 2000s+ — Computação móvel, nuvem, IA.