按位运算符位字段介绍
Posted 生姜不爱蒜
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了按位运算符位字段介绍相关的知识,希望对你有一定的参考价值。
<<左移,每左移一位相当于对原数*2
>>右移,每右移一位相当于对原数/2
注:若结果为小数,则只保留整数部分,例如对5右移一位,结果为2。
2、位字段
位字段可以节省内存空间,提高运行效率,是一个很有用的编程方法
其实也是一个结构体,如下
1 struct Byte 2 { 3 unsigned dental:2; //位段college,占2位 4 unsigned college:10; //位段college,占10位 5 unsigned:6; //无名位段,占6位,但不能访问 6 unsigned:0; //无名位段,占0位,表下一位段从下一字边界开始 7 int i; //成员i,从下一字边界开始 8 } ; 9 10 struct Byte byt;
//给byt赋值
byt.dental = 3;//因为dental占2位,即它的最大二进制表示为11,即十进制中的3,若超过这个数,则溢出。
/*
位段可以由%d,%o,%x格式输出(位字段只能表示int,long,short)
位字段无地址,不能对其进行取地址操作
*/
以上是关于按位运算符位字段介绍的主要内容,如果未能解决你的问题,请参考以下文章