logo

Operadores de turno em C

Esta seção discutirá os operadores de deslocamento bit a bit na linguagem de programação c. O operador de deslocamento bit a bit é usado para deslocar os bits binários na direção esquerda ou direita de acordo com os requisitos do programa.

Operadores de turno em C

Os operadores de deslocamento são classificados em dois tipos com base na posição de deslocamento dos bits.

  1. Operador de deslocamento esquerdo
  2. Operador de deslocamento para a direita

Operador de deslocamento esquerdo

O operador de deslocamento à esquerda é um tipo de operador de deslocamento bit a bit, que executa operações nos bits binários. É um operador binário que requer dois operandos para deslocar ou mover a posição dos bits para o lado esquerdo e adicionar zeros ao espaço vazio criado no lado direito após deslocar os bits.

Sintaxe

diferença entre um leão e um tigre
 var_name << no_of_position 

Na sintaxe acima, var_name representa o nome da variável inteira na qual o deslocamento para a esquerda (<<) operation is to be performed shift the binary bits at left side. and no_of_position variable represents number of placed or shifted in other words, operator shifts first operand on side by defined second operand.< p>

Por exemplo, o valor da variável inteira num é 22 e sua forma binária é 10110. Agora usamos o operador de deslocamento à esquerda para deslocar os bits binários 2, o num = num << 2 igual a num = num * (2 ^2). E o novo valor de num é 22* (2 ^ 2) = 88, que é igual à forma binária 1011000.

Exemplo 1: Programa para demonstrar o uso do operador Left Shift em C

 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use left shift operator to shift the bits num = (num &lt;&lt; 2); // It shifts two bits at the left side printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Saída

 Enter a positive number: 25 After shifting the binary bits to the left side. The new value of the variable num = 100 

Exemplo 2: Programa para usar o operador Left Shift nos dados int não assinados do C

programa c para matriz bidimensional
 #include int main () { // declare local variable unsigned int num = 0xff; // use left shift operator to shift the bits num = (num &lt;&lt; 2); printf (&apos; 
 After shifting the binary bits to the left side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Saída

 After shifting the binary bits to the left side. The new value of the unsigned variable num = 1020 

Exemplo 3: Programa para inserir o número positivo do usuário para realizar o operador Shift à esquerda

 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the left side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use left shift operator to shift the bits num = (num &lt;&lt; bit); printf (&apos; 
 After shifting the bits to the left side. &apos;); printf (&apos; 
 The new value of the num = %d&apos;, num); return 0; } 

Saída

 Enter a positive number: 40 No. of binary bits shifted to the left side: 4 After shifting the bits to the left side. The new value of the num = 640 

No exemplo acima, o bit binário do número positivo 40 definido pelo usuário é 101000. Depois disso, tomamos 4 como o número para deslocar os bits binários no lado esquerdo. E então, o operador de deslocamento para a esquerda desloca 4 bits binários no lado esquerdo, e então é criado um espaço no lado direito, que é preenchido ou adicionado por 4 zeros ao lado direito que retorna o valor binário 1010000000, que é equivalente a o número decimal 640.

Operador de deslocamento para a direita

O operador de deslocamento para a direita é um tipo de operador de deslocamento bit a bit usado para mover os bits no lado direito e é representado como o símbolo de seta dupla (>>). Assim como o operador de deslocamento para a esquerda, o operador de deslocamento para a direita também requer dois operandos para deslocar os bits do lado direito e, em seguida, inserir os zeros no espaço vazio criado no lado esquerdo após o deslocamento dos bits.

Sintaxe

reagir estilo inline
 var_name &gt;&gt; no_of_position 

Na sintaxe acima, var_name representa a variável inteira na qual a operação de deslocamento para a direita (>>) deve ser executada para deslocar os bits binários no lado direito. E a variável no_of_position representa o número de bits a serem colocados ou deslocados para o lado direito. Em outras palavras, o operador de deslocamento para a direita desloca os bits binários do primeiro operando para o lado direito, definindo o número total de bits para o segundo operando.

Exemplo 1: Programa para demonstrar o uso do operador Right Shift em C

 #include int main () { // declare local variable int num; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); // use right shift operator to shift the bits num = (num &gt;&gt; 2); // It shifts two bits at the right side printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the variable num = %d&apos;, num); return 0; } 

Saída

 Enter a positive number: 25 After shifting the binary bits to the right side. The new value of the variable num = 6 

Exemplo 2: Programa para usar o operador Right Shift nos dados int não assinados do C

 #include int main () { // declare local variable unsigned int num = 0xff; // use right shift operator to shift the bits num = (num &gt;&gt; 2); printf (&apos; 
 After shifting the binary bits to the right side. &apos;); printf (&apos; 
 The new value of the unsigned variable num = %d&apos;, num); return 0; } 

Saída

mockito sempre que
 After shifting the binary bits to the right side. The new value of the unsigned variable num = 63 

Exemplo 3: Programa para inserir o número positivo do usuário para executar o operador Shift à direita

 #include int main () { // declare local variable int num, bit; printf (&apos; Enter a positive number: &apos;); scanf (&apos; %d&apos;, &amp;num); printf (&apos; No. of binary bits shifted to the right side: &apos;); scanf (&apos; %d&apos;, &amp;bit); // use right shift operator to shift the bits num = (num &gt;&gt; bit); printf (&apos; 
 After using the right shift operator to shift the bits at the right side. &apos;); printf (&apos; 
 New value of the num = %d&apos;, num); return 0; } 

Saída

 Enter a positive number: 40 No. of binary bits shifted to the right side: 4 After using the right shift operator to shift the bits to the right. The new value of the num = 2