Swift Academy · Aula

Operadores Bit a Bit e de Overflow

Manipule bits e use operadores de overflow, como &+, com segurança.

Aula 4 de 413 etapas

Operadores Bit a Bit e de Overflow é uma aula grátis de Swift Academy no CoddyKit. Esta é a aula 4 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 Swift Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Swift Academy inclui 4 aulas no total.

Operadores bit a bit

Os operadores bit a bit trabalham com cada dígito binário individual dos inteiros. O Swift oferece AND &, OR |, XOR ^, NOT ~ e deslocamentos << / >>.

let a: UInt8 = 0b1100
let b: UInt8 = 0b1010
print(a & b)
print(a | b)

AND bit a bit

& define cada bit do resultado como 1 somente quando os dois bits de entrada são 1. Ele é usado com frequência para aplicar uma mask e ocultar bits.

let value: UInt8 = 0b10110101
let mask: UInt8 = 0b00001111
let low = value & mask
print(low)

OR bit a bit

| define cada bit do resultado como 1 quando qualquer um dos bits de entrada é 1. É útil para combinar sinalizadores.

let flagsA: UInt8 = 0b0001
let flagsB: UInt8 = 0b0100
let combined = flagsA | flagsB
print(combined)

XOR bit a bit

^ define um bit como 1 somente quando os dois bits de entrada são diferentes. Aplicar XOR com o mesmo valor duas vezes restaura o valor original.

let original: UInt8 = 0b1010
let key: UInt8 = 0b0110
let encoded = original ^ key
let decoded = encoded ^ key
print(encoded, decoded)

NOT bit a bit

O operador unário ~ inverte cada bit. Para um UInt8, todos os 8 bits são invertidos.

let bits: UInt8 = 0b00001111
let inverted = ~bits
print(inverted)

Deslocamento à esquerda

<< move os bits para a esquerda, preenchendo com zeros. Cada deslocamento à esquerda de 1 multiplica um valor unsigned por 2.

let n: UInt8 = 0b00000011
print(n << 1)
print(n << 2)

Deslocamento à direita

>> move os bits para a direita. Para inteiros unsigned, ele preenche com zeros, dividindo efetivamente por potências de dois.

let n: UInt8 = 0b00010000
print(n >> 1)
print(n >> 4)

Estouro com operadores normais

A aritmética padrão interrompe com erro em caso de estouro para manter seu programa safe: exceder o máximo de um tipo normalmente causa uma falha, em vez de retornar silenciosamente ao início.

let maxByte = UInt8.max
print("Max UInt8:", maxByte)
let safe = Int(maxByte) + 1
print("Promoted sum:", safe)

Adição com estouro &+

Quando o senhor quer deliberadamente retornar ao início, use os operadores de estouro. &+ passa do máximo e retorna ao mínimo, em vez de causar uma falha.

let maxByte: UInt8 = 255
let wrapped = maxByte &+ 1
print(wrapped)

Subtração e multiplicação com estouro

&- e &* retornam ao início da mesma forma. 0 &- 1 para um UInt8 retorna 255.

let zero: UInt8 = 0
print(zero &- 1)
let big: UInt8 = 200
print(big &* 2)

Quando usar operadores de estouro

Use &+ &- &* somente quando retornar ao início for o comportamento pretendido, como em funções de hash ou contadores cíclicos. Caso contrário, prefira os operadores que interrompem com erro para obter mais segurança.

var counter: UInt8 = 254
for _ in 0..<4 {
    counter = counter &+ 1
    print(counter)
}

Verificação rápida

Reflita sobre o retorno ao início causado por um estouro.

Recapitulação: operadores bit a bit e de estouro

O senhor aprendeu os operadores bit a bit & | ^ ~ e os deslocamentos << >>, que a aritmética normal interrompe com erro em caso de estouro para garantir segurança e que &+ &- &* retornam deliberadamente ao início ao ultrapassar os limites do tipo.

let mask: UInt8 = 0b1111
let v: UInt8 = 0b10101010
print("Masked:", v & mask)
print("Wrap:", UInt8(0) &- 1)
Grátis para começar

Aprenda Swift com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
122
Aulas
409

Perguntas Frequentes

A aula “Operadores Bit a Bit e de Overflow” é grátis?

Sim — o texto completo de “Operadores Bit a Bit e de Overflow” é 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 Swift Academy, atualize para CoddyKit PRO. O curso de Swift Academy inclui 4 aulas no total.

O que vou aprender em “Operadores Bit a Bit e de Overflow”?

Manipule bits e use operadores de overflow, como &+, com segurança. Você pratica Swift 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 Swift Academy?

Nenhuma experiência prévia é necessária. Swift 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 4 de 4.

Quanto tempo leva a aula “Operadores Bit a Bit e de Overflow”?

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 Swift Academy?

Sim. Cada aula de Swift 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. Operadores Aritméticos e de Atribuição Composta
  2. Operadores de Comparação e Identidade
  3. Operadores Lógicos e Curto-Circuito
  4. Operadores Bit a Bit e de Overflow
← Voltar para Swift Academy