通过一个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 @ 2024-04-28 16:56  东岸  阅读(55)  评论(0)    收藏  举报