找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2386|回复: 9
打印 上一主题 下一主题
收起左侧

请教单片机程序代码问题 如果是取高位的话,那是怎么取法的?

[复制链接]
跳转到指定楼层
楼主
ID:34693 发表于 2018-1-22 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下:
char TIME[7] = {0x00, 0x57, 0x10, 0x23, 0x05, 0x02, 0x17};

LCD12864_W(0x30+TIME[6]/16);               
LCD12864_W(0x30+(TIME[6]&0x0f));


请问下:TIME[6]/16, 是什么意思的?
0x17/16=啥?
如果是取高位的话,那是怎么取法的?





分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:258566 发表于 2018-1-22 16:32 | 只看该作者
TIME[6]/16<==>TIME[6]>>4

回复

使用道具 举报

板凳
ID:34693 发表于 2018-1-22 17:17 | 只看该作者

非常感谢
回复

使用道具 举报

地板
ID:7485 发表于 2018-1-22 21:34 | 只看该作者
其实从代码的效率看,除法效率低(运行的慢),右移好些。
回复

使用道具 举报

5#
ID:123289 发表于 2018-1-23 12:35 | 只看该作者
地板说法不完全的,在此还是错的。单字节除法一条指令便可完成,而/16用移位需要4条指令.
回复

使用道具 举报

6#
ID:235676 发表于 2018-1-23 13:05 | 只看该作者
2路直流电机驱动模块正反转PWM调速+双H桥步进电机迷你电机驱动
回复

使用道具 举报

7#
ID:278908 发表于 2018-1-23 14:04 | 只看该作者
主要看你使用的芯片,除法和移位如何执行的。
回复

使用道具 举报

8#
ID:7485 发表于 2018-1-23 14:54 | 只看该作者
yzwzfyz 发表于 2018-1-23 12:35
地板说法不完全的,在此还是错的。单字节除法一条指令便可完成,而/16用移位需要4条指令.

单字节除法4周期指令,移位指令1周期指令。在这里刚刚好执行时间是一样的。
回复

使用道具 举报

9#
ID:123289 发表于 2018-1-25 12:34 | 只看该作者
版主说的很对!
只是移位四次后无法保证高四位=0,为此还需要……

倒不如用 SWAP,再加一条高四位屏蔽令,也能达成除以16的目的,且也只用2个周期。
回复

使用道具 举报

10#
ID:279641 发表于 2018-1-25 14:53 | 只看该作者
只是移位
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表