[問題] struct bit field

看板C_and_CPP作者 (非常念舊)時間8年前 (2016/05/19 23:33), 編輯推噓1(1015)
留言16則, 5人參與, 最新討論串1/1
不好意思請問一下...我在網路上範例都是直接說出 struct 大小為 4 byte struct { unsigned int widthValidated : 1; unsigned int heightValidated : 1; } status; 請問有比較詳細的算法嗎? 我的想法是 總共兩個 bit ,但一次存取是 4 byte ,所以後面 padding 30 bit 求出大小為 4 byte 不知道我這樣想對不對.... 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.115.110.72 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1463672022.A.2F5.html

05/19 23:48, , 1F
因為C++規定,sizeof不能是0
05/19 23:48, 1F

05/19 23:49, , 2F
既然不能是0,那最少也得是1
05/19 23:49, 2F

05/19 23:55, , 3F
阿,對不起,我看錯題目了...
05/19 23:55, 3F

05/19 23:55, , 4F
我以為這意思是: 只使用unsigned int 的 2 個bit ?
05/19 23:55, 4F

05/20 01:03, , 5F
同上
05/20 01:03, 5F

05/20 05:32, , 6F
= = 那既然只用了 2 個 bit ,她怎出現 4 byte 呢?
05/20 05:32, 6F

05/20 05:54, , 7F
05/20 05:54, 7F

05/20 05:55, , 8F
那這樣我的想法應該是對的!
05/20 05:55, 8F

05/20 10:37, , 9F
另外,我不是很懂為什麼需要知道bit field的大小
05/20 10:37, 9F

05/20 10:42, , 10F
bit field的實際大小是implementation-defined
05/20 10:42, 10F

05/20 11:19, , 11F
他應該是想要知道bit field怎麼影響struct的大小
05/20 11:19, 11F

05/20 18:33, , 12F
是的,我是想知道大小。http://goo.gl/zl5D7q 它的第
05/20 18:33, 12F

05/20 18:33, , 13F
一句有解答到我的問題,那這樣一切都瞭了~!
05/20 18:33, 13F

05/21 00:43, , 14F
所謂 implementation-defined 就是不同編譯器可能有不同
05/21 00:43, 14F

05/21 00:43, , 15F
作法
05/21 00:43, 15F

05/21 09:58, , 16F
他好像不是很懂甚麼是implementation-defined...
05/21 09:58, 16F
文章代碼(AID): #1NFTpMBr (C_and_CPP)