[问题] 位元逻辑运算子 & 问题

楼主: x246libra (楓)   2018-04-16 15:56:49
看code时发现
uint8_t data[9];
data[5] = val & 0xff
不懂为什么要这么做
0xff 不就等于 11111111
var和0xff 联集& 做位元逻辑运算 还是var本身自己阿
请问有人可以提点 关键字 让我知道原因吗?
作者: shadow0326 (非议)   2018-04-16 16:05:00
ooxx
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-16 16:06:00
oxff是什么东东 都民国一百多年了还有人0 o混著用?
作者: taies (akira)   2018-04-16 16:06:00
&跟|傻傻分不清楚
作者: Lipraxde (Lipraxde)   2018-04-16 16:07:00
oxff 是什么东西,变量吗?
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-16 16:08:00
不是30年前那些打字习惯超烂的古董才会吗好改正了不错
楼主: x246libra (楓)   2018-04-16 16:12:00
所以 这么作 有什么功能吗?
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-16 16:12:00
下一个问题 你确定val跟data[5]一样宽吗
作者: jerryh001   2018-04-16 16:23:00
这样就是保留最后8bits
作者: Schottky (顺风相送)   2018-04-16 16:25:00
long 跟 uint8 一样大小我也是醉了就是把 val 的高位剪掉清成 0,只留最低 byte
作者: james732 (好人超)   2018-04-16 16:35:00
哪个平台的long跟uint8_t一样大?
作者: Lipraxde (Lipraxde)   2018-04-16 16:43:00
typedef uint8_t long; 自己定XD
作者: cutekid (可爱小孩子)   2018-04-16 16:55:00
val & 0xff ← val % 256
作者: Lipraxde (Lipraxde)   2018-04-16 17:05:00
他sizeof(int)的输出是4捏,而且字节跟位元是不一样的东西
作者: tjjh89017 (伊达政宗)   2018-04-16 17:06:00
uint8_t是8bits,不是8byte
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-16 17:16:00
XD long跟uint8_t一样大 笑死 提名本年度最好笑
作者: Schottky (顺风相送)   2018-04-16 17:31:00
笑到肚子好痛既然查到网页,可以照着上面的方法跑一次啊不同平台的结果会不一样喔!
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-04-16 18:11:00
把超过的部份剪掉 不过没错 不同平台结果可能有差异
作者: Schottky (顺风相送)   2018-04-16 18:32:00
不过再怎么有差异也没听过long是1或2 bytes 的就是了
作者: shadow0326 (非议)   2018-04-16 18:34:00
因为那违反标准 标准规定sizeof(long) >= 32bits
作者: chuegou (chuegou)   2018-04-16 20:14:00
uint32表示 哇靠比我还长
作者: TitanEric (泰坦)   2018-04-16 21:34:00
mask
楼主: x246libra (楓)   2018-04-17 00:03:00
请问楼上 mask是什么意思 要用什么关键字查询相关资料
作者: james732 (好人超)   2018-04-17 00:13:00
"bit mask"用这个google有一些网页可以看
作者: Bencrie   2018-04-17 02:02:00
遮罩
作者: TitanEric (泰坦)   2018-04-17 09:31:00
感谢楼上们解释
作者: Leadgen (新竹~)   2018-04-17 11:17:00
作Mask
作者: KanzakiHAria (神崎・H・アリア)   2018-04-17 11:41:00
推 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;

Links booklink

Contact Us: admin [ a t ] ucptt.com