📄 8-2-4.c
字号:
/*中国系统分析员顾问团,http://www.csai.cn*/
/*程序员下午考试指南书籍源码*/
#include <stdio.h>
#define EMPTY '.'
#define NONEMPTY 'X'
#define LEFT 0
#define RIGHT 1
turnleft(unsigned old[], unsigned new[]) {
int row,k;
for ( row=0; row<16; row++ )
for ( k=0, new[row] = 0; k<16; k++ )
new[row] |= (( old[k]>> row ) &1) << 15-k ;
}
main (){
static unsigned old[16] = { 0x1040,0x1040,0x1048,0xFDFC,0x2040,0x2844,0x4BFE,
0x7C80,0x0888,0x09FC,0x1C08,0xE810,0x4890,0x0860,0x0820,0x0810};
unsigned new[16];
turnleft( old,new );
display( old,new );
}
display(unsigned *old, unsigned *new ){
char out[2][17],letter[2];
int row,col;
letter[0] = EMPTY;
letter[1] = NONEMPTY;
out[LEFT][16] = out[RIGHT][16] = '\0';
for ( row = 0; row<16; row++,old++,new++ ){
for ( col = 0; col<16; ++col ){
out[LEFT][col] = letter[ (*old>>(15-col)) &1];
out[RIGHT][col] = letter[ (*new>>(15-col)) &1];
}
printf("\n %4x %s ",*old,&out[LEFT][0]);
printf(" %4x %s",*new,&out[RIGHT][0]);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -