Considere duas variáveis A e B do tipo inteiro e que estejam...

Próximas questões
Com base no mesmo assunto
Q2589660 Arquitetura de Software

Considere duas variáveis A e B do tipo inteiro e que estejam inicializadas com valores maiores do que zero em um programa escrito na linguagem de programação C. Assinale a alternativa que indica o comando que retornará um valor verdadeiro, caso ambas as variáveis tenham o mesmo valor.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: C - !(A ^ B)

Para entender a questão, precisamos dominar alguns conceitos de operadores lógicos e aritméticos da linguagem de programação C. A questão envolve verificar se duas variáveis inteiras, A e B, possuem o mesmo valor.

Vamos analisar a alternativa correta em detalhes:

Alternativa C - !(A ^ B)

O operador "^" é o operador de bitwise XOR em C. Ele compara bit a bit de duas variáveis e retorna 1 se os bits corresponderem a 1 e 0 se corresponderem a 0. Assim, A ^ B será 0 se todos os bits de A e B forem iguais, ou seja, se A e B forem iguais. O operador "!" é a negação lógica e retorna verdadeiro se a expressão for falsa. Portanto, !(A ^ B) retorna verdadeiro quando A e B são iguais. Essa é a forma correta de verificar se A e B têm o mesmo valor.

Agora, vamos entender por que as outras alternativas estão incorretas:

Alternativa A - !(A & B)

O operador "&" é o operador de bitwise AND em C. Ele retorna 1 se ambos os bits de A e B forem 1. A expressão !(A & B) não verifica se A e B são iguais, mas sim se não há bits 1 em ambas as variáveis nas mesmas posições. Portanto, essa alternativa não é correta para verificar a igualdade de A e B.

Alternativa B - A - B

A expressão "A - B" realiza uma simples subtração entre A e B. Se A e B forem iguais, a expressão retornará 0, que é um valor falso em C, não um valor verdadeiro. Além disso, ela retornará outros valores quando A e B forem diferentes, o que não atende ao critério de retornar um valor verdadeiro apenas quando A e B são iguais.

Alternativa D - A << B

O operador "<<", conhecido como shift left, desloca os bits de A para a esquerda B vezes. Essa operação não tem qualquer relação direta com a comparação de A e B para verificar sua igualdade. Portanto, essa alternativa não é correta.

Alternativa E - A >> B

O operador ">>", conhecido como shift right, desloca os bits de A para a direita B vezes. Assim como na alternativa anterior, essa operação não tem relação direta com a comparação de A e B. Logo, essa alternativa também não é correta.

Gostou do comentário? Deixe sua avaliação aqui embaixo!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo