Portas Lógicas em C++: Simulando Circuitos Digitais
Portas Lógicas em C++: Simulando Circuitos Digitais
Na eletrônica digital, usamos chips e portas lógicas para tomar decisões baseadas em níveis lógicos alto (1) ou baixo (0).
Em C++, mapeamos essas mesmas portas lógicas utilizando os operadores lógicos. Eles nos ajudam a simular e programar o comportamento de qualquer circuito.
Os Três Operadores Essenciais
- Porta AND (E): Representada pelo operador
&&. A saída só é verdadeira se todas as entradas forem verdadeiras. - Porta OR (OU): Representada pelo operador
||. A saída é verdadeira se pelo menos uma entrada for verdadeira. - Porta NOT (NÃO): Representada pelo operador
!. Inverte completamente o estado lógico da entrada.
Exemplo Prático: Código de Teste
O código abaixo simula a combinação de dois sensores e uma chave de segurança em um circuito digital:
#include <iostream>
int main() {
// Definindo as entradas lógicas (1 = Ativo, 0 = Inativo)
bool sensorA = true;
bool sensorB = false;
bool chaveSeguranca = true;
// 1. Simulando uma Porta AND (E)
bool resultadoAND = sensorA && chaveSeguranca;
std::cout << "Resultado AND (Sensor A E Chave): " << resultadoAND << std::endl;
// 2. Simulando uma Porta OR (OU)
bool resultadoOR = sensorA || sensorB;
std::cout << "Resultado OR (Sensor A OU Sensor B): " << resultadoOR << std::endl;
// 3. Simulando uma Porta NOT (NÃO / Inversora)
bool resultadoNOT = !sensorB;
std::cout << "Resultado NOT (Inverso do Sensor B): " << resultadoNOT << std::endl;
return 0;
}
Aplicações em Sistemas Embarcados
No dia a dia do curso técnico, essa lógica é usada para ler múltiplos sensores ao mesmo tempo antes de ativar um motor, ou para bloquear o funcionamento de uma máquina caso um botão de emergência (NOT) seja acionado.
Comentários
Postar um comentário