bcd to decimal conversion

Status
Not open for further replies.

raman00084

Full Member level 6
Joined
Nov 29, 2010
Messages
362
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
4,006
please send sample program for bcd to decimal conversion in c

i am using pic16f877a ccs complier
 

In two digit BCD say 23 is written as 0010 0011. So, to convert it to decimal you have to do something like this


Code C - [expand]
1
decNum = ((bcdNum >> 4) * 10) + (bcdNum & 0b00001111)



23 is a byte (upto 255 is a byte)

BCD 23 will be stored as 00100011

00100011 >> 4 = 00000010 = 2 decimal

2 * 10 = 20 decimal

00100011 & 0b00001111 = 00000011 = 3

20 + 3 = 23 decimal
 

for variable unsigned char data
perform

((((data & 0xF0 )>>4) * 10) + (data&0xF));
 

@Raady

((data & 0xF0) >> 4) is same as (data >> 4)
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…