怎样定义变量占用大小是7bit,4bit等待
在用51单片机,因为ram比较小,有些变量只需要2bit 4bit7bit,因此我想定义一个变量,占用的内存只为2bit 4bit7bit等等,比如2个bit可以组成一个byte,4个2bit能够组成一个1byte。在用联合体,就能方便的使用。C语言有没有什么办法 struct bitValue{
uint8_t 1bit : 1;
uint8_t 2bit : 2;
uint8_t 3bit : 3;
uint8_t 2bit : 2;
};
struct bitValue bitByte;
bitByte.1bit= 1; zzh90513 发表于 2018-12-27 15:14
struct bitValue
{
uint8_t 1bit : 1;
这个是不是必须是8bit的大小 zzh90513 发表于 2018-12-27 15:14
struct bitValue
{
uint8_t 1bit : 1;
不错不错,这好用 位域了解一下 鲜衣怒马 发表于 2018-12-27 15:34
位域了解一下
嗯,位域不错,谢谢 2楼这种数字在前的变量命名能通过编译? nanfang2000 发表于 2018-12-27 16:12
2楼这种数字在前的变量命名能通过编译?
不能,第一个不能为数字 霸气侧漏 发表于 2018-12-27 16:16
不能,第一个不能为数字
随手写了一下,只是示意一下,可以随意数量,随意类型都行,结构体都是自动对齐的,如果能是同一类型更好 zzh90513 发表于 2018-12-27 17:11
随手写了一下,只是示意一下,可以随意数量,随意类型都行,结构体都是自动对齐的,如果能是同一类型更好 ...
明白,已经秒懂
页:
[1]