通过一个int控制多个状态

众所周知,int有4字节,32位
也就是说每位0/1就能控制一种状态,而32个bool类型是32个字节,直接减少28个字节空间

int number = 0;
// 控制四种状态
bool state1 = (number & (1 << 0)) != 0; // 检查第0位是否设置为1
bool state2 = (number & (1 << 1)) != 0; // 检查第1位是否设置为1
bool state3 = (number & (1 << 2)) != 0; // 检查第2位是否设置为1
bool state4 = (number & (1 << 3)) != 0; // 检查第3位是否设置为1
// 设置或清除四种状态
number |= (1 << 0); // 设置第0位为1
number &= ~(1 << 1); // 清除第1位(设置为0)
number ^= (1 << 2); // 切换第2位的状态(0变为1,1变为0)
number ^= (1 << 3); // 切换第3位的状态(0变为1,1变为0)
posted @   东岸  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示