30/09/2018, 16:02

[Wiki] Bit fields trong C/C++

Lâu lâu khi đọc code C bạn sẽ thấy cái này. Share ra cho mọi biết chơi về bit fields. Khi nào rảnh Đạt sẽ viết bài hoặc videos về cái này.

Copy từ wiki: http://www.wikiwand.com/en/Bit_field

// bit field box properties
struct box_props
{
     unsigned int opaque       : 1;
     unsigned int fill_color   : 3;
     unsigned int              : 4; // fill to 8 bits
     unsigned int show_border  : 1;
     unsigned int border_color : 3;
     unsigned int border_style : 2;
     unsigned int              : 2; // fill to 16 bits
};

Link hướng dẫn
http://www.tutorialspoint.com/cprogramming/c_bit_fields.htm

Nguyễn Tuấn Tiến viết 18:08 ngày 30/09/2018

@ltd cái này mình có thể quản lý tốt dung lượng bộ nhớ phải không anh? ý em là mình xài bao nhiêu thì mình sẽ dùng bấy nhiêu.

Nguyễn Minh Dũng viết 18:06 ngày 30/09/2018

Quản lý rất tốt đấy em. Vì nhiều lúc mình chỉ cần 2 giá trị true or false. Chỉ cần dùng 1 bit thôi. Không cần dùng 4 bytes làm gì cho phí.

Nguyễn Tuấn Tiến viết 18:04 ngày 30/09/2018

Em hiểu rùi anh, mình biết được số bytes khi sử dụng nên mình sẽ chỉ định bộ nhớ cho nó luôn, như vậy sẽ quản lý bộ nhớ very good

Nguyễn Minh Dũng viết 18:05 ngày 30/09/2018

Em xem thêm bài này nói chi tiết về việc quản lý bộ nhớ khi tạo một struct

Mình có bài toán nhỏ như sau đố các bạn cho vui: typedef struct { char c; int i; } mstruct; Đố các bạn sizeof(mstruct) là bao nhiêu byte. Chú ý: các expert không được trả lời nhé! Mình dám cá là size của mstruct không phải là 5 bytes. Vì sao như vậy? Theo đúng lý thuyết ta học thì size của struct phải là tổng size của các thành phần bên trong nó mà. Vậy tại sao không phải là 5 bytes, có gì huyền bí ở đây? Để hiểu rõ về việc này, chúng ta hãy cùng tìm hiểu sơ qua Da…
Thực tế khắc nghiệt viết 18:17 ngày 30/09/2018

so usefull ! ok 20 character

tan viết 18:16 ngày 30/09/2018

Cái này hay này ^^ anh làm video về cái này đi anh ! Thank a đã chia sẻ

Bài liên quan
0