1. 程式人生 > >二進位制在演算法編寫中的常用概念

二進位制在演算法編寫中的常用概念

1.已知一個二進位制數字(例如:1100101),轉換為十進位制數字:

2.當一個數字為奇數時,這個數字的二進位制表示的最後一位一定為1: 

  • 這是因為在二進位制表示十進位制中,二進位制數字的最後一位所代表的數字為2^{0},也就是1.
  • 因為二進位制中只能一位一位的表示,也就是說,2^{0}只有存在或不存在兩種狀態
  • 那麼,假設這個數為偶數,且最後一位為1(實際上這種情況不成立),就必然在二進位制數中,有另外一個數能夠表示一個奇數,從而保證兩個奇數相加為偶數,也就保證了結果仍然是偶數.但在二進位制轉換為十進位制中,只有最後一位能表示奇數.所以,如果一個數為偶數,那麼最後一位必然為0
  • 因此,如果一個數為奇數,那麼這個數的二進位制表示的最後以為一定為1.

3.在對一個數x進行右移的過程中,假設每次右移一位,則一共需要右移{log_{2}}^{x}

  • 通過二進位制的表示方法即可推得(不瞭解的話可以在紙上手寫驗證一下)