16进制加法

[复制链接]
904|2
 楼主| yangzhimin 发表于 2015-6-1 14:40 | 显示全部楼层 |阅读模式
怎么定义加法为十进制加法,还是16进制加法?现在我编了一段程序         
second++;
if(second==60)
second=0;
xs=second&0x0f;
ys= second>>4&0x07;//10位
if(second&0x0f==10)
            {
         xs=0;
         ys++;
              }

结果呢运行程序时发现它的规律为逢16进1.
我想变为逢10进1,哪位老师指导一下我该怎么办呢
lyjian 发表于 2015-6-1 14:51 | 显示全部楼层
那就用十进制数
xmar 发表于 2015-6-1 15:03 | 显示全部楼层
先对变量进行(没有特别说明,都是16进制的)运算,然后(如用函数htod())将16进制数转换为10进制数输出(显示)。

int htod(*h)
{
  int i,value=0;  
  while(h[i]!='\0')
  {
    if(h[i]>='0'&&h[i]<='9')value=value*16+(h[i]-'0');
    else if(h[i]>='A'&&h[i]<='f')value=value*16+(h[i]-55);
   
  }
return value;

}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部