-50000&0x00ff是什么意思啊

2019-03-24 19:17发布

谢谢  你们进来   我进入盲区了  -50000&0x00ff 是什么意思啊 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
51学习者
1楼-- · 2019-03-24 22:48
 精彩回答 2  元偷偷看……
wangdabo
2楼-- · 2019-03-25 02:27
恩  后面的&   我倒明白
可是前面的-50000我不明白呀  
#define AUX1                TIMER_TICKS_PER_MS*LED_TOGGLE_RATE                //不能超过65535
#define AUX2                -AUX1
#define AUX3                AUX2&0x00ff                //赋初值 放入TLX
#define AUX4                (AUX2&0xff00)>>8        //赋初值 放入THX

就是我把AUX1 赋值50000了   十进制能和十六进制相与吗    还是-50000有特殊含义
Li_Lei
3楼-- · 2019-03-25 07:43
低八位
辛昕
4楼-- · 2019-03-25 13:30
这种写法有点添乱。
它的本意应该是
(65535 - 50000) & 0xff

他也许以为 65535相当于0xffff,说白了就是65536 - 1
0xffff - 50000,和 直接 -50000......
好吧,我也被他绕进去了,开始我没仔细想的时候,我真以为这是等效的。

不管怎么说,这种写法都很蛋疼,不要盲目模仿。
辛昕
5楼-- · 2019-03-25 17:51
十六进制和十进制只是形式上的区别,没有什么“十六进制和十进制能不能相与”的问题
辛昕
6楼-- · 2019-03-25 20:30
如果没猜错,最初这样写的人肯定在这里头犯了两个错误
1 他们以为 65536-100 和 -100的写法是等效的。
假设说,这两个数据都是 无符号的16位数,那,那还真是.,.....没问题

2 他们没有区分 65535 和 65536,不然他怎么会写出这样的-50000呢?

但还是一句话,这样的写法真的很蛋疼

一周热门 更多>