标签:
#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