【C语言】unsigned int : 4;是什么意思?
4个回答
展开全部
意思是让int值占4位,准确的写法应该是:unsigned int b:4;意思是让b占四位,unsigned int b:8;就是让b占8位,是为了内存对齐而写的,一些操作系统要求必须8位对齐,那一个int如果不满8位,就要强制让他占8位,浪费一些空间而已。
展开全部
你这个是位段里面用的。
位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。
位段的定义格式为:
type
[var]:
digits
其中type只能为int,unsigned
int,signed
int三种类型(int型能不能表示负数视编译器而定,比如VC中int就默认是signed
int,能够表示负数)。位段名称var是可选参数,即可以省略。digits表示该位段所占的二进制位数。
位段(bit-field)是以位为单位来定义结构体(或联合体)中的成员变量所占的空间。含有位段的结构体(联合体)称为位段结构。采用位段结构既能够节省空间,又方便于操作。
位段的定义格式为:
type
[var]:
digits
其中type只能为int,unsigned
int,signed
int三种类型(int型能不能表示负数视编译器而定,比如VC中int就默认是signed
int,能够表示负数)。位段名称var是可选参数,即可以省略。digits表示该位段所占的二进制位数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个语句有问题吧
如果是
unsigned
int
name:4;
表示定义一个变量name,占用无符号整形的
4个bit位,这个位域的用法
一般用在结构体中来减少占用的内存空间
如果是
unsigned
int
name:4;
表示定义一个变量name,占用无符号整形的
4个bit位,这个位域的用法
一般用在结构体中来减少占用的内存空间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
unsigned
int表示的是无符号
0x是表示16进制,0xff=(0x)ff,ff是16进制数,也就是说c=16进制下的ff。f在10进制中表示15,八进制用‘0’开头。
int表示的是无符号
0x是表示16进制,0xff=(0x)ff,ff是16进制数,也就是说c=16进制下的ff。f在10进制中表示15,八进制用‘0’开头。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询