在计算机中,数据是以0和1的二进制方式来表示的。比如一个8位的二进制数,就表示为 0001 0001,由于二进制数用起来比较不方便,所以人们通常以16进制的方式来表达,比如上述的00010001的16进制表示为0x11。
我们知道16进制的0x11, 如果用十进制来表示的话,代表的数是16。
由于十进制数是人们在日常生活中常用的数据表示方式。所以,当我们想要显示某个数的话,一般会转化为十进制里显示。下面我们来看看如果把一个4位的十进制数以BCD码的形式显示出来。
void BS004_COM1_Send_4bits_BCD_Num(int number) //圆点博士:发送一个字符
{
unsigned int num;
unsigned char num_th[4];
unsigned char i,bcd_code_len;
//
num=fabs(number);
if(number<0) BS004_COM1_Send_Char('-'); //圆点博士:发送字符-
if(num>9999) num=9999;
if(num>999) bcd_code_len=4;
else if(num>99) bcd_code_len=3;
else if(num>9) bcd_code_len=2;
else bcd_code_len=1;
//
if(num>999) {num_th[3]=num/1000; num-=num_th[3]*1000;}
if(num>99) {num_th[2]=num/100; num-=num_th[2]*100; }
if(num>9) {num_th[1]=num/10; num-=num_th[1]*10; }
num_th[0]=num;
//
for(i=0;i
代码首次判别数据是否是负数 ,如果是的话,显示符号-。
然后我们看到,转换是以除法和减法的方式来实现的。