如何得到低四位,跟高四位

2019-07-15 19:31发布

本帖最后由 music_mc 于 2014-6-4 07:56 编辑

我用P1.0~P1.3控制步进电机
经常用的都是数组变量
怎么样只改变低四位,而不改变高四位
我自己想了个办法,就是不知道,怎么取得一个二进制的高四位和低四位,求解

比方
a=1010 0001;
b=a/256;
c=a%256;
为什么这样是错的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
kagaya
1楼-- · 2019-07-15 22:05
比方
a=1010 0001;
b=a/256;
c=a%256;
为什么这样是错的?

2^4 = 16
所以是
b=a/16;
c=a%16;
也可以是
b=a>>4;
c=a & 0x0f;
xunfeng0862
2楼-- · 2019-07-15 22:43
要得到一个数的低四位和高四位  直接移位就可以了
b = (a & 0xF0) >> 4;     //得到高四位
c = (a & 0x0F);              //得到低四位
woodmice
3楼-- · 2019-07-16 00:37
楼主你那个是求高8位和低8位的方法,不是4位的
BBOYBL
4楼-- · 2019-07-16 06:08
左移右移就可以了!
music_mc
5楼-- · 2019-07-16 07:54
 精彩回答 2  元偷偷看……

一周热门 更多>