标签:
#include<iostream>
using namespace std;
//设置一些计算的宏
typedef char bytes;
#define BYTES_LENGTH 255//一个字节的数据大小
#define BYTES_HALF_LENGTH 4//半个字节的位数
//#define RHALF (BYTES_LENGTH>>BYTES_HALF_LENGTH)//右半边为00001111
#define RHALF 15
//#define LHALF (BYTES_LENGTH<<BYTES_HALF_LENGTH)//左半边为11110000
#define LHALF 240
#define STORED_R(b,n) (b=(n|(b&LHALF)))//将n存入到b右半边中
#define STORED_L(b,n) (b=((n<<BYTES_HALF_LENGTH)|(b&RHALF)))//将n存入到b的左半边中
#define GET_R(b) (b&RHALF)//得到b的右边的四位
#define GET_L(b) ((b&LHALF)>>BYTES_HALF_LENGTH)//得到b的左边的四位
#define MOV_WITH 3//棋子的移动宽度
int main()
{
bytes b=0;
for (STORED_R(b,1);GET_R(b)<=MOV_WITH*MOV_WITH;STORED_R(b,GET_R(b)+1))
{
for(STORED_L(b,1);GET_L(b)<=MOV_WITH*MOV_WITH;STORED_L(b,GET_L(b)+1))
{
if(GET_R(b)%MOV_WITH!=GET_L(b)%MOV_WITH)
{
cout<<GET_R(b)<<‘ ‘<<GET_L(b)<<endl;
}
}
}
system("pause");
return 1;
}
标签:
原文地址:http://www.cnblogs.com/yanliang12138/p/4332803.html