一个用作标志的普通变量至少要用一个字节—8 位, 而在某些计算机系统中则可能是 16 位。 如果我们想在一个很大的表中存储很多标志, 那么 被浪费” 的内存空间是很可观的。在 C 语言中, 一种方法是用叫做位段的构造类型来定义一个压缩信息的结构。我们通常想保持某个状态的Flag,就可以只用一个变量的某一个bit位来保存,尤其是做像modbus等通讯时,如果位变量较多;需要整合到一个字来传送;这样既
一个用作标志的普通变量至少要用一个字节—8 位, 而在某些计算机系统中则可能是 16 位。 如果我们想在一个很大的表中存储很多标志, 那么 “被浪费” 的内存空间是很可观的。在 C 语言中, 一种方法是用叫做位段的构造类型来定义一个压缩信息的结构。
我们通常想保持某个状态的Flag,就可以只用一个变量的某一个bit位来保存,尤其是做像modbus等通讯时,如果位变量较多;需要整合到一个字来传送;这样既可以节省空间又可以节省通讯数据量!
下面将对变量的位操作和位状态获取的方法。
位操作:
- 置位
#define BitSet(Number,pos) ((Number) |= 1<<(pos)) //把变量Number的第pos位置1
- 复位
#define BitClr(Number,pos) (Number) &= ~(1<<(pos)) //把变量Number的第pos位清零
- 取反
#define BitINV(Number,pos) ((Number) ^= 1<<(pos)) //把变量Number的第pos位取反
位获取:
#define BitGet(Number,pos) ((Number) >> (pos)&1) //用宏得到变量Number的第pos位
猜你喜欢
-
股市融资融券业务:操作方式与风险收益分析
以下是关于股市融资融券业务的操作方式、风险和收益分析: 操作方式: 1.融资操作: -投资者向券商借款购买股票,可以放大投资规模,提高盈利机会
2024年04月01日1 -
深入解读注册制改革下中国股市的长期格局变化
深入解读注册制改革对中国股市长期格局的变化可以从以下几个方面进行分析: 1.市场活力提升:注册制改革将更多的权利交给市场,减少了审批环节,降低了企业上市门槛,有利于吸引更多优质企业上市
2024年03月30日21 -
如何通过分散投资有效降低股市风险
以下是通过分散投资来降低股市风险的几种方法: 1.行业分散:投资者可以选择投资不同行业的股票或基金,避免集中在某一个行业,这样在某个行业出现问题时,其他行业的投资也可以起到平衡作用
2024年03月30日36