各位高手帮忙c 的bit 转换
大家好
请各位高手帮忙
用c 写个程序 要把
一个byte 倒转过来,不知道什么好的方法?
比如
二进制11001000
准换成00010011
还望各位高手帮忙啊
[解决办法]
1. 基本方法
int reverse(unsigned x){ int m = 0, i; unsigned mask = x; for (i=0; i<32; i++) { m = (m << 1) + (mask & 1); mask >>= 1; } return m;}
[解决办法]
#include <stdio.h>#include <stdlib.h>int main(){ int i(0); unsigned char input(0); printf("ÊäÈëÒ»¸ö×Ö½Ú£º"); scanf("%d", &input); printf("\nÔ¶þ½øÖÆ´®="); for(i = 8; i >= 0; i--) { printf("%1d", (input >> i) & 1); } printf("\nµ¹ÐòºóµÄ¶þ½øÖÆ´®="); for(i = 0; i < 8; i++) { printf("%1d", (input >> i) & 1); } printf("\n"); system("Pause"); return 0;}