transformar um decimal inteiro para binario

1. transformar um decimal inteiro para binario

Bruno
uNclear

(usa Slackware)

Enviado em 20/12/2016 - 06:31h

Estou querendo fazer uma calculadora com operaçoes +, -, * e / que retorna um valor em binario nos leds, so que estou com um problema na hora de converter o numero decimal para binario, a logica que estou utilizando funciona para algumas operaçoes. Segue o codigo abaixo:


int contador = 0, contador1 = -1, contador2 = -1, sinal = -1;

void setup() {
Serial.begin(9600);
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(9, OUTPUT);
pinMode(8, OUTPUT);
pinMode(7, OUTPUT);

}

void loop() {

contador = 0;

if (Serial.available() > 0) {
contador1 = Serial.read();
Serial.flush();
}

if( Serial.available() > 0){
sinal = Serial.read();
Serial.flush();
}

if( Serial.available() > 0){
contador2 = Serial.read();
Serial.flush();
}

switch(sinal){
case '+':
contador = contador1 + contador2;
break;
case '-':
contador = contador1 - contador2;
break;
case '*':
contador = (int)contador1 * contador2;
break;
case '/':
contador = (int)contador1 / contador2;
break;
}

digitalWrite(11,contador % 2);
digitalWrite(10,(contador >> 1) % 2);
digitalWrite(9,(contador >> 2) % 2);
digitalWrite(8,(contador >> 3) % 2);
digitalWrite(7,(contador >> 4) % 2);

delay(5000);

contador1 = -1;
contador2 = -1;
sinal = -1;

apagaLeds();
delay(1000);
}

void apagaLeds(){
digitalWrite(7, LOW);
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
}



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts