[LinuxBIOS] Convert hex to dec

Uwe Hermann uwe at hermann-uwe.de
Wed Jul 4 19:47:11 CEST 2007


On Wed, Jul 04, 2007 at 05:29:56PM +0200, Peter Stuge wrote:
> On Wed, Jul 04, 2007 at 09:22:54AM -0400, Joseph Smith wrote:
> > Hello,
> > Got another silly C newbie question.
> > If I want to convert a hex value to decimal, would this work?
> > 
> > value = ff /* Hex value */
> > 
> > sscanf(value, %d, &value)
> > 
> > Is the variable "value" now 255??
> 
> Hexadecimal, decimal and octal are different ways for us humans to
> express numbers to computers, but no matter what we use, they are
> always stored in binary form in the machine.
> 
> Thus, there is no difference between a number in hexadecimal or
> decimal. We do however have to tell the computer which formatting we
> want when the computer should show us the numbers.
> 
> unsigned char value;
> 
> value=0xff; /* hexadecimal */
> 
> /* %d means print number in decimal */
> printf("value in decimal is now %d\n",value);
> 
> 
> value=135; /* decimal */
> 
> /* %x means print in hex */
> printf("value in hexadecimal is now %x\n",value);
> 
> 
> value=0254; /* octal */
> 
> if(0xac==0254)
>   printf("C knows that 0xac == 0254 because they are both == %d\n",value);
> 
> 
> Have a look at the printf man page for your nearest C library to
> learn about all the good stuff you can put into formatting strings
> besides just %d and %x.

I use some aliases in my .bashrc which are pretty handy for converting
HEX or BINARY or DECIMAL:

alias HEX="ruby -e 'printf(\"0x%X\n\", ARGV[0])'"
alias DEC="ruby -e 'printf(\"%d\n\", ARGV[0])'"
alias BIN="ruby -e 'printf(\"%bb\n\", ARGV[0])'"

(You can replace 'ruby' with 'perl' if you want)

Usage:

$ HEX 78
0x4E
$ BIN 0x6a
1101010b
$ DEC 0x72
114


HTH, Uwe.
-- 
http://www.hermann-uwe.de  | http://www.holsham-traders.de
http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20070704/1c04133e/attachment.sig>


More information about the coreboot mailing list