发布网友 发布时间:2022-05-06 01:48
共1个回答
热心网友 时间:2022-06-28 11:52
题目肯定是在早期的C环境下,因为早期的int是16bit,所以才把8bit的数据叫“短整型”;以后int是32bit了,所以实际上题目是说把一个char型数据进行处理。
按照说明,这也不叫“反转”,应该叫按位取反;因为“反转”的意思是把1234二进制位倒过来,即若是1101则变成1011,而按此题则应输出0010。
代码文本:
#include "stdio.h"
int main(int argc,char *argv[]){
char ch;
printf("Please enter a letter...\n");
if(scanf(" %c",&ch)==1 && (ch>='A' && ch<='Z' || ch>='a' && ch<='z'))
printf("0x%x\n",ch^0x0F);
else
printf("Input error, exit...\n");
return 0;
}