Binário e representação de dados
O curso mostra como o computador guarda dados como 0s e 1s, a partir do sistema binário e dos transistores. Trata de bits, bytes e da diferença entre KB e KiB, da adição binária, das operações bitwise e do complemento de dois. Explica como ASCII e UTF-8 transformam texto em bytes e por que floats não representam bem a maioria dos decimais. Mostra o hexadecimal e as cores CSS. A última aula liga tudo ao Ruby: strings, symbols, tipos de coluna do ActiveRecord e pack/unpack.
O que você vai aprender
- ✓Contar e converter números entre binário, decimal e hexadecimal
- ✓Bits, bytes e a diferença entre unidades decimais e binárias
- ✓Operações bitwise, deslocamento de bits, complemento de dois e overflow
- ✓Como ASCII, Unicode e UTF-8 codificam texto e como corrigir mojibake
- ✓Por que floats são aproximados e como guardar dinheiro com decimal ou centavos inteiros
- ✓Como objetos, strings, symbols e colunas do ActiveRecord viram bytes no Ruby
O que é binário?
Você conta usando dez dígitos: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Esse é o sistema decimal (base-10), e você o usa porque tem dez dedos.
Ler a aula completa grátis →Currículo
7 aulasO que é binário?
Por que computadores usam base-2, como funcionam as colunas binárias e como converter números em Ruby e à mão.
Bits e bytes: unidades de dados
Bits, bytes, KB e KiB, bits e bytes em redes, e como o Ruby mede o tamanho de strings e objetos.
Aritmética binária
Adição binária, AND, OR, XOR e NOT, deslocamentos, complemento de dois para negativos e overflow de inteiros.
Representando texto: ASCII e UTF-8
Como ASCII e UTF-8 mapeiam caracteres em bytes, por que length difere de bytesize e bugs comuns de encoding.
Representando números: inteiros e floats
Tamanhos de inteiros, floats IEEE 754, por que 0.1 + 0.2 difere de 0.3 e formas seguras de guardar dinheiro.
Hexadecimal e cores
Hexadecimal como binário compacto, literais hex em Ruby, cores CSS com alfa e codificação de URL em bytes hex.
Representação de dados em Ruby
Como o Ruby expõe dados binários por bases, encodings de string, tamanho de objetos, symbols, tipos do ActiveRecord e pack/unpack.