當前位置:編程學習大全網 - 電腦編程 - c語言中怎麽將二進制數碼倒過來?例如0110 1110變為0111 0110?

c語言中怎麽將二進制數碼倒過來?例如0110 1110變為0111 0110?

看下面的函數:

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位交換。

這個函數就可以解決問題。

  • 上一篇:MYSQL跳過了1062的錯誤。怎麽配置?
  • 下一篇:單片機程序員和寫手是什麽關系?
  • copyright 2024編程學習大全網