# Decimal to binary converter

**URL:** <https://forum.arduino.cc/t/decimal-to-binary-converter/905535>\
**Category:** Programming\
**Created:** [September 14, 2021, 8:26pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535 "2021-09-14T20:26:00Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:26pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/1 "2021-09-14T20:26:00Z")

</div>

Hello,  
I am working on a school project, for creating an arduino code to convert decimals to binary... i am a beginner and glad to have managed to create a working code. But there is on slight problem ... when i convert my number, 2 "1" appear in front of the value and i can't figure out where they're coming from 😑  
Example with number 5:  
 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/c/3/c/c3c38b7b41420331eb4a303f7b1d146f14cbe787.png)

Thanks for your help, i have to hand this in next week .

---

<div class="post-metadata">

**Author:** ![anon73444976](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@anon73444976](https://forum.arduino.cc/u/anon73444976)\
**Post date:** [September 14, 2021, 8:28pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/2 "2021-09-14T20:28:02Z")

</div>

Please post code, not pictures of code.  
Please post results and expectations.

---

<div class="post-metadata">

**Author:** ![anon73444976](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@anon73444976](https://forum.arduino.cc/u/anon73444976)\
**Post date:** [September 14, 2021, 8:28pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/3 "2021-09-14T20:28:52Z")

</div>

> [@louis\_f](#):
>
> Example with number 5:

Did you mean '5'?

The result is as expected.

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:30pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/4 "2021-09-14T20:30:03Z")

</div>

int incomingByte = 0;

void setup()  
{  
Serial.begin(9600);  
}

void loop()  
{  
// envoie une donnée sur le port série seulement quand reçoit une donnée  
if (Serial.available() \> 0)  
{ // si données disponibles sur le port série  
// lit l'octet entrant  
incomingByte = Serial.read();

```
// renvoie l'octet reçu
Serial.print("Base 2 ->");
Serial.println((char)incomingByte, BIN);

```

}  
}

My expectations are that it only gives "0101"  
And it needs to work for any number from 1 to 9

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [September 14, 2021, 8:31pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/5 "2021-09-14T20:31:02Z")

</div>

> [@louis\_f](#):
>
> My expectations are that it only gives "0101"

Thought experiment for you... what should it print if you send it a letter, like 'x'?

---

<div class="post-metadata">

**Author:** ![anon73444976](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@anon73444976](https://forum.arduino.cc/u/anon73444976)\
**Post date:** [September 14, 2021, 8:31pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/6 "2021-09-14T20:31:18Z")

</div>

> [@louis\_f](#):
>
> My expectations are that it only gives "0101"

Not my expectation.  
'5' == 0x35 == 0b00110101

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:33pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/7 "2021-09-14T20:33:42Z")

</div>

Well, 5 in binary is 0101 and thats what i would want it to give for this example if you see what i mean 😄

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:34pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/8 "2021-09-14T20:34:19Z")

</div>

I don't know...

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [September 14, 2021, 8:36pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/9 "2021-09-14T20:36:44Z")

</div>

Try. Hint - do computer keyboards have only numbers on them? How do you suppose that 'x' would be transmitted?

---

<div class="post-metadata">

**Author:** ![LarryD](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/larryd/32/215550_2.png) [@LarryD](https://forum.arduino.cc/u/LarryD)\
**Post date:** [September 14, 2021, 8:37pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/10 "2021-09-14T20:37:49Z")

</div>

There is 5 and there is 5.

 ![image](https://europe1.discourse-cdn.com/arduino/original/4X/7/f/e/7fe857c8d30a6f50d51b804fe75dfb4d59fce7b6.png)

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:38pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/11 "2021-09-14T20:38:23Z")

</div>

sends out 1111000

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [September 14, 2021, 8:39pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/12 "2021-09-14T20:39:32Z")

</div>

...like the 'x' in the right hand column of the chart above?

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:40pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/13 "2021-09-14T20:40:02Z")

</div>

yep

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [September 14, 2021, 8:41pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/14 "2021-09-14T20:41:03Z")

</div>

Now look up '5'.

---

<div class="post-metadata">

**Author:** ![LarryD](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/larryd/32/215550_2.png) [@LarryD](https://forum.arduino.cc/u/LarryD)\
**Post date:** [September 14, 2021, 8:42pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/15 "2021-09-14T20:42:27Z")

</div>

What code do you get printed for 0 (zero).

---

<div class="post-metadata">

**Author:** ![louis\_f](https://avatars.discourse-cdn.com/v4/letter/l/5e9695/32.png) [@louis\_f](https://forum.arduino.cc/u/louis_f)\
**Post date:** [September 14, 2021, 8:45pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/16 "2021-09-14T20:45:39Z")

</div>

Ok, I will try that tomorrow, thanks 👍

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [September 14, 2021, 8:46pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/18 "2021-09-14T20:46:39Z")

</div>

> [@louis\_f](#):
>
> `Serial.println((char)incomingByte, BIN);`

hi @louis_f

Change this line of your sketch: "Serial.println((char)incomingByte, BIN);"

with this line: Serial.println((incomingByte & 0x0F), BIN);

and test to see if is what you want.

RV mineirin

---

<div class="post-metadata">

**Author:** ![anon73444976](https://avatars.discourse-cdn.com/v4/letter/a/439d5e/32.png) [@anon73444976](https://forum.arduino.cc/u/anon73444976)\
**Post date:** [September 14, 2021, 8:48pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/19 "2021-09-14T20:48:03Z")

</div>

Or even

```cpp
Serial.println(incomingByte - '0', BIN);

```

---

<div class="post-metadata">

**Author:** ![anon57585045](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@anon57585045](https://forum.arduino.cc/u/anon57585045)\
**Post date:** [September 14, 2021, 8:54pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/20 "2021-09-14T20:54:06Z")

</div>

or even

```cpp
if ( isdigit(incomingByte) ) {
Serial.println(incomingByte - '0', BIN);
} else {
Serial.println(F("out of range - not numeric input") );
}

```

this one will print garbage values for inputs (:, ;, \<, =, \>, ?) :

```cpp
Serial.println((incomingByte & 0x0F), BIN);

```

just as subtraction will print garbage values for any non-numeric character.

---

<div class="post-metadata">

**Author:** ![ruilviana](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/ruilviana/32/722429_2.png) [@ruilviana](https://forum.arduino.cc/u/ruilviana)\
**Post date:** [September 14, 2021, 9:07pm UTC](https://forum.arduino.cc/t/decimal-to-binary-converter/905535/22 "2021-09-14T21:07:07Z")

</div>

> [@louis\_f](#):
>
> I am working on a school project, for creating an arduino code to convert decimals to binary.

> [@anon57585045](#):
>
> this one will print garbage values for inputs (:, ;, \<, =, \>, ?) :

Only decimals must be converted.

RV mineirin

[Next page](https://forum.arduino.cc/t/decimal-to-binary-converter/905535.md?page=2)
