0Pricing
Zig Academy · Aula

Inteiros de largura arbitrária, como u3

Use tipos numéricos com largura exata em bits.

Inteiros de largura arbitrária, como u3 é uma aula grátis de Zig Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Zig Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Zig Academy inclui 4 aulas no total.

Além de u8 e u32

Zig não se limita aos tamanhos comuns. Você pode solicitar um inteiro com qualquer largura de bits, de u1 até valores enormes.

O Padrão uN

Escreva u seguido de um número para obter um inteiro sem sinal com exatamente essa quantidade de bits. Assim, u3 comporta três bits.

const level: u3 = 5;

As Versões com Sinal Também

Troque o u por um i para obter um inteiro com sinal de qualquer largura; assim, i4 cobre um intervalo pequeno com sinal.

const delta: i4 = -3;

Controle Exato do Intervalo

Um u3 armazena valores de 0 a 7, pois três bits fornecem oito combinações. O próprio tipo impõe esse intervalo.

Encontrar os Limites

Consulte os limites do tipo com maxInt e minInt, em vez de memorizá-los.

const hi = std.math.maxInt(u3); // 7
const lo = std.math.minInt(u3); // 0

Até Inteiros de Um Bit

Um u1 armazena apenas 0 ou 1, funcionando como um único bit bruto que você pode armazenar e calcular diretamente.

const bit: u1 = 1;

u0 é um Tipo Real

Até mesmo u0 existe. Ele só pode ter o valor 0 e não ocupa nenhum bit, o que é útil em código genérico.

Perfeitos para Campos Compactados

Larguras incomuns, como u3 e u5, são ideais dentro de uma packed struct, permitindo que cada campo use exatamente os bits necessários.

const Color = packed struct {
    r: u5,
    g: u6,
    b: u5,
};

Cuidado com Overflow

Atribuir 8 a um u3 ultrapassa seu intervalo. Nos modos seguros, Zig detecta isso em tempo de execução em vez de permitir uma volta silenciosa do valor.

Converter para Ampliar

Use @as ou @intCast para mover um valor estreito para um tipo mais amplo quando precisar de mais espaço para calcular.

const small: u3 = 5;
const big: u16 = @as(u16, small);

Expressar a Intenção

Larguras arbitrárias permitem que o sistema de tipos documente suas restrições reais; assim, u4 deixa claro que um valor nunca ultrapassa 15. 🎯

Verificação Rápida

Pense em quantos valores distintos cabem em três bits.

Recapitulação

Você conheceu inteiros de largura arbitrária, como u3 e i4: intervalos exatos, perfeitos para campos compactados, com overflow verificado nos modos seguros. 🎉

Perguntas Frequentes

A aula “Inteiros de largura arbitrária, como u3” é grátis?

Sim — o texto completo de “Inteiros de largura arbitrária, como u3” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Zig Academy, atualize para CoddyKit PRO. O curso de Zig Academy inclui 4 aulas no total.

O que vou aprender em “Inteiros de largura arbitrária, como u3”?

Use tipos numéricos com largura exata em bits. Você pratica Zig Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Zig Academy?

Nenhuma experiência prévia é necessária. Zig Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Inteiros de largura arbitrária, como u3”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Zig Academy?

Sim. Cada aula de Zig Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. struct empacotada para layout exato
  2. Inteiros de largura arbitrária, como u3
  3. Campos de bits e sinalizadores
  4. extern struct e layout ABI
← Voltar para Zig Academy