打印

C中,怎样把一个变量分位输出效率高?

[复制链接]
1448|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuljia|  楼主 | 2013-11-28 12:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
nqyijian| | 2013-11-28 13:02 | 只看该作者
有硬件乘法器这样就没问题。
没有的话,做减法和判断吧

使用特权

评论回复
板凳
ayb_ice| | 2013-11-28 13:43 | 只看该作者
比如:
有个数是6123
分离千位

        U8 k;
        U16 t = 6123;

        k = 0;
        if(t >= 8000){
                t -= 8000;
                k += 8;
        }else{
                if(t >= 4000){
                        t -= 4000;
                        k += 4;
                }
                if(t >= 2000){
                        t -= 2000;
                        k += 2;
                }
        }

        if(t >= 1000){
                t -= 1000;
                k += 1;
        }

只能从最高位开始分离

51的话可以用移位,BCD加法,很快的

使用特权

评论回复
地板
zxc729| | 2013-11-29 09:39 | 只看该作者
可以用结构体加共有体的形式,我感觉这样效率高些

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:PDFFSPPTFSDOCFS

118

主题

265

帖子

0

粉丝