看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;