C语言字符位反转

来源:互联网 发布:零起点学通c语言 编辑:程序博客网 时间:2024/06/04 23:20

昨天做了字符串反转,想到以前做过位反转,就记一下。

比如一个字符为“10100110”(十六进制数据为0xA6),反转后就成为“01100101”(十六进制数据为0x65)

代码如下:

//位反转void reverse(unsigned char *data){unsigned char temp=0;//将反转的数据放在temp里int i;for(i=0;i<8;i++){temp = temp <<1;  //temp左移temp = temp | (*data & 0x01);*data = *data>>1;   //data右移}*data = temp;}

字符串发反转是以中间为界,相互交换数据,而位反转,在于移位。

 

 

 

0 0
原创粉丝点击