Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Decimal to hex conversion c++ built-in function

Is there a built-in function in c++ that would take a decimal input from a user and convert it to hex and vice versa?? I have tried it using a function I've written but I was wondering if there is a built-in one to minimize the code a little bit. Thanks in advance.

like image 362
user3002197 Avatar asked Nov 17 '13 18:11

user3002197


People also ask

What is C hex in binary?

Hexadecimal number=A12C. Binary value equivalent to A is 1010. Binary value equivalent to 1 is 0001. Binary value equivalent to 2 is 0010. Binary value equivalent to C is 1100.


2 Answers

Decimal to hex :-

std::stringstream ss;
ss<< std::hex << decimal_value; // int decimal_value
std::string res ( ss.str() );

std::cout << res;

Hex to decimal :-

std::stringstream ss;
ss  << hex_value ; // std::string hex_value
ss >> std::hex >> decimal_value ; //int decimal_value

std::cout << decimal_value ;

Ref: std::hex, std::stringstream

like image 82
P0W Avatar answered Oct 17 '22 21:10

P0W


Many compilers support the itoa function (which appears in the POSIX standard but not in the C or C++ standards). Visual C++ calls it _itoa.

#include <stdlib.h>

char hexString[20];
itoa(value, hexString, 16);

Note that there is no such thing as a decimal value or hex value. Numeric values are always stored in binary. Only the string representation of the number has a particular radix (base).

Of course, using the %x format specifier with any of the printf functions is good when the value is supposed to be shown in a longer message.

like image 13
Ben Voigt Avatar answered Oct 17 '22 20:10

Ben Voigt