找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4268|回复: 6
收起左侧

单片机除以16求商和余进行"高4位"和"低4位"分离大神们求解答。

[复制链接]
ID:222622 发表于 2017-8-7 16:02 | 显示全部楼层 |阅读模式
写时钟程序的时候其中有段程序是除以16求商和余进行"高4位"和"低4位"分离,我就是想弄明白,是怎么分离的,求详细的解释过程。

评分

参与人数 1黑币 +5 收起 理由
GYDmatlab + 5 很给力!

查看全部评分

回复

使用道具 举报

ID:164602 发表于 2017-8-8 08:18 | 显示全部楼层
我来帮你吧。
举例:如数据十进制数123,它的十六进制为7B,即高四位为7,低四位为B。怎样通过计算,分别得到呢?
123/16(求商)=7,因为这里的小数据部分自动舍掉了,只留下整数部分,这样就取出了高四位的7。
123%16(求余)=11,就是十六进制的B。求余,是保留不能整除的余下部分,这样就取出了低四位的值了。
从数据原理上说,十六进制数,就是逢16进一,高四位是几,就有多少个16,低四位一定是小于16的数,如F为15。
回复

使用道具 举报

ID:123289 发表于 2017-8-8 10:54 | 显示全部楼层
又是因为对汇编不重视而发出的提问。
在汇编中这是极简单的事。
将被除数右移四位就是商。
屏蔽掉高位,只留下低四位,就是余数。
回复

使用道具 举报

ID:222622 发表于 2017-8-8 11:50 | 显示全部楼层
yzwzfyz 发表于 2017-8-8 10:54
又是因为对汇编不重视而发出的提问。
在汇编中这是极简单的事。
将被除数右移四位就是商。

汇编好学吗,可是我C语言还没有掌握好。
回复

使用道具 举报

ID:123289 发表于 2017-8-8 13:28 | 显示全部楼层
本末倒置,学好汇编,再学C,C就非常简单了易学了。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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