C 宏和位操作

// visual studio 2012 

// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。

#include "stdafx.h"
#include "iostream"
#include "stdio.h"

int a = 1;

//#define BIT3 (0x1 << 2)
#define BIT(bit) (1 << bit)

void set_bit(int* data, int bit)
{
(*data) |= BIT(bit); 
}

void clear_bit(int* data, int bit)
{
(*data) &= ~BIT(bit);

}


int _tmain(int argc, _TCHAR* argv[])
{
set_bit(&a,4);
clear_bit(&a,0);
while (1);
return 0;
}

你可能感兴趣的:(C 宏和位操作)