最近在用LED组成的数码管,由于位号硬件上有所改动,因而需要进行码值位之间的交换;
以下是一段C语言函数,实现将一个八位的二进制数的任意两位交换:
1 |
|
这个函数将一个八位的二进制数的任意两位交换。其中,x是一个八位的二进制数,i和j是要交换的两个位置。函数返回交换后的结果。
如果你想要交换第i和第j位,那么你可以调用swap_bits(x, i, j)。例如,如果你想要交换x的第0和第7位,那么你可以调用swap_bits(x, 0, 7),它将返回170(即0b10101010)中第0和第7位交换后的结果:85(即0b01010101)。