看code时发现
uint8_t data[9];
data[5] = val & 0xff
不懂为什么要这么做
0xff 不就等于 11111111
var和0xff 联集& 做位元逻辑运算 还是var本身自己阿
请问有人可以提点 关键字 让我知道原因吗?
oxff是什么东东 都民国一百多年了还有人0 o混著用?
作者: taies (akira) 2018-04-16 16:06:00
&跟|傻傻分不清楚
作者:
Lipraxde (Lipraxde)
2018-04-16 16:07:00oxff 是什么东西,变量吗?
不是30年前那些打字习惯超烂的古董才会吗好改正了不错
作者: jerryh001 2018-04-16 16:23:00
这样就是保留最后8bits
long 跟 uint8 一样大小我也是醉了就是把 val 的高位剪掉清成 0,只留最低 byte
作者:
Lipraxde (Lipraxde)
2018-04-16 16:43:00typedef uint8_t long; 自己定XD
作者:
cutekid (可爱小孩子)
2018-04-16 16:55:00val & 0xff ← val % 256
作者:
Lipraxde (Lipraxde)
2018-04-16 17:05:00他sizeof(int)的输出是4捏,而且字节跟位元是不一样的东西
XD long跟uint8_t一样大 笑死 提名本年度最好笑
笑到肚子好痛既然查到网页,可以照着上面的方法跑一次啊不同平台的结果会不一样喔!
把超过的部份剪掉 不过没错 不同平台结果可能有差异
不过再怎么有差异也没听过long是1或2 bytes 的就是了
因为那违反标准 标准规定sizeof(long) >= 32bits
作者:
chuegou (chuegou)
2018-04-16 20:14:00uint32表示 哇靠比我还长
请问楼上 mask是什么意思 要用什么关键字查询相关资料
"bit mask"用这个google有一些网页可以看
作者:
Leadgen (新竹~)
2018-04-17 11:17:00作Mask
推 chuegou: uint32表示 哇靠比我还长 XDDDDD
作者:
kikiqqp (喵食罐头)
2018-04-17 12:13:00单纯当遮罩用,另外不同平台实作位元会有差异,看规格书typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef unsigned long uint32_t;