close

我想應該不久後就會用到了

雖然很簡單

但是語法久了沒用會忘掉

就先備份起來啦

1個byte就可以省下7個bit了!!

500個就可以省下3500bit = 437.5byte了!!

雖然不多

但是空間太小時真的會#@!&^%&^%#@的麻煩

而且程式會比較好看!!

 

#include <iostream>

using namespace std;
typedef unsigned char __BYTE;

typedef union {
    unsigned char byte;
    struct{
        __BYTE timer1:1;
        __BYTE timer2:1;
        __BYTE timer3:1;
        __BYTE timer4:1;
        __BYTE timer5:1;
        __BYTE timer6:1;
        __BYTE timer7:1;
        __BYTE timer8:1;
    }bit;
}flag;

flag timer;

int main(void)
{
    timer.byte = 13;
    printf("%d\n",timer.byte);
    printf("%d\n",timer);

    timer.bit.timer1 = 0;
    timer.bit.timer2 = 0;
    timer.bit.timer3 = 0;
    timer.bit.timer4 = 0;
    timer.bit.timer5 = 0;
    timer.bit.timer6 = 0;
    timer.bit.timer7 = 0;
    timer.bit.timer8 = 1;
    printf("%d\n",timer.byte);
    printf("%d\n",timer);

    system("pause");
    return 0;
}

 

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 阿東 的頭像
    阿東

    ~阿東~的部落格

    阿東 發表在 痞客邦 留言(0) 人氣()