Convert integer/decimal to hex on an Arduino?

How can an integer or decimal variable be converted into a hex string? I can do the opposite (convert hex to int) but I can't figure out the other way.

This is for Serial.print() hex values in an array.

0

3 Answers

Take a look at the Arduino String tutorial here. The code below was taken from that example.

// using an int and a base (hexadecimal): stringOne = String(45, HEX); // prints "2d", which is the hexadecimal version of decimal 45: Serial.println(stringOne); 

There are plenty of other examples on that page, though I think for floating point numbers you'll have to roll your own.

1

There's a simple solution, just use:

Serial.print(yourVariable, HEX); 
0

The Streaming library provides a built in way to do this:

#include <Streaming.h> ... Serial << "45 in hex is " << _HEX(45) << endl; 

You will need to download the Library from and place it in a subdirectory of your Sketchbook folder. The Menu File-Preferences will show you where that is.

This library can also be used when outputting to LCDs.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like