返回列表 发帖

学习DS1302,碰到十六进制转十进制问题

学习DS1302,碰到十六进制转十进制问题,请高手给个编程思路好吗?谢谢了

电子园商城推荐:


把问题说具体点?

TOP

C的还是汇编的啊?

TOP

TOP

谢谢老王啊! 要是把程序里的“除以16改成向右移动4位”可以吗?

TOP

C的还是汇编的啊? sunhm 发表于 2009-6-27 18:37

 

用C。 觉得疑惑的地方时,我把16进制数从变量里取出,转换为十进制数后,再存到变量里,不还是以16进制数形式存储的吗?

TOP

用除法来做,

TOP

LZ的意思应该是hex转bcd,看看下面的怎么样:

附件: 您需要登录才可以下载或查看附件。没有帐号?注册

TOP

谢谢楼上的同学们。找到了个例子。转换时好像得乘以16才行

例:十六进制数FFFF转换为十进制数

      十六进制数F80F按权展开形式如下:

(F80F)16=15×163+8×162+0×161+15×160=(61440+2048+0+15)10=(63503)10结果为: (F80F)2=(63503)10

TOP

其实应该很简单啊。我写DS1302的时候这么写的
uchar changebcd(uchar timer)
{
        uchar rechangebcd,ge,shi;
ge=timer%16;
        shi=timer/16;

        rechangebcd=shi*10+ge;

        return rechangebcd;
}

TOP

返回列表

站长推荐 关闭


Cepark 51单片机在线免费培训火热报名中

暑假就要来了!在这个暑假,你有什么打算?有没有想到趁着这个假期认真学一些知识呢? 对于单片机知识,你了解吗?有没有想过趁着这个暑假,好好的学习一下单片 ...


查看