通过一个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)
本文来自博客园,作者:东岸,转载请注明原文链接:https://www.cnblogs.com/donghao99/p/18164058
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理