Operadores de deslocamento em Python são operadores bit a bit que movem os bits de um número inteiro um número especificado de posições para a esquerda ou para a direita. Existem dois operadores de deslocamento principais: * **Deslocamento para a Esquerda (`<<`)**: Move os bits de um número para a esquerda por um número especificado de posições. As posições vagas à direita são preenchidas com zeros. Efetivamente, isso multiplica o número por 2 elevado à potência da quantidade de deslocamento (para números positivos). * **Deslocamento para a Direita (`>>`)**: Move os bits de um número para a direita por um número especificado de posições. As posições vagas à esquerda são preenchidas com base no sinal do número: * Para números positivos, as posições vagas são preenchidas com zeros. Isso efetivamente realiza a divisão inteira por 2 elevado à potência da quantidade de deslocamento. * Para números negativos, as posições vagas são preenchidas com uns (na maioria das implementações, incluindo CPython, que mantém o sinal do número). Isso também realiza a divisão inteira por 2 elevado à potência da quantidade de deslocamento, mas lida com o sinal negativo corretamente. # Exemplo: ```python x = 10 # Binário: 1010 # Deslocamento para a Esquerda left_shifted = x << 2 # Deslocar para a esquerda por 2 posições print(left_shifted) # Saída: 40 (Binário: 101000, que é 10 * 2**2) y = -10 # Binário: (representação em complemento de dois) # Deslocamento para a Direita (número negativo) right_shifted = y >> 1 # Deslocar para a direita por 1 posição print(right_shifted) # Saída: -5 (Divisão inteira por 2) z = 10 # Deslocamento para a Direita (número positivo) right_shifted_positive = z >> 1 # Deslocar para a direita por 1 posição print(right_shifted_positive) # Saída: 5 (Divisão inteira por 2) ``` **:: Referência ::** [6. Expressões — documentação do Python 3.13.2](https://docs.python.org/3/reference/expressions.html#shifting-operations)