c语言中怎么将二进制数码倒过来?例如0110 1110变为0111 0110?
发布网友
发布时间:2024-03-02 06:50
我来回答
共1个回答
热心网友
时间:2024-06-03 15:42
看下面的函数:
unsigned
char
num(unsigned
char
dat)
{
unsigned
char
val;
val
=
((dat
&
0x01)
<<
7)
|
((dat
&
0x02)
<<
5)
|
((dat
&
0x04)
<<
3)
|
((dat
&
0x08)
<<
1)
|
((dat
&
0x10)
>>
1)
|
((dat
&
0x20)
>>
3)
|
((dat
&
0x40)
>>
5)
|
((dat
&
0x80)
>>
7);
return
val;
}
在函数中,即实现了把dat中的第7位和第0位交换、第6位和第1位交换、第5位和第2位交换、第4位和第3位交换。
这个函数就可以解决问题。