PHP中的進位制轉換

2020-07-16 10:05:40

進位制

四種

  1. 二進位制:0,1 ,滿 2 進 1。

在 golang 中,不能直接使用二進位制來表示一個整數,它沿用了 c 的特點。

  1. 十進位制:0-9 ,滿 10 進 1。
  2. 八進位制:0-7 ,滿 8 進 1. 以數位 0 開頭表示。
  3. 十六進位制:0-9 及 A-F,滿 16 進 1. 以 0x 或 0X 開頭表示。此處的 A-F 不區分大小寫。
package main
import "fmt"
func main() {
    var i int = 5
    //二進位制
    fmt.Printf("%b n",i)

    var j int = 011 // 011=>8+1 = 9
    //八進位制
    fmt.Println("j=",j)

    var k int = 0x11 //0x11 => 16+1 =17
    //十六進位制 0x或者0X開頭
    fmt.Println("k=",k)
}
//101
//j= 9
//k= 17

進位制圖示

Snipaste_2019-07-03_15-54-49.png

Snipaste_2019-07-03_15-55-06.png

1. 其他進位制轉十進位制

  1. 二進位制轉十進位制
  2. 八進位制轉十進位制
  3. 十六進位制轉十進位制

二進位制轉十進位制

規則:從最低位開始(右邊的),將每個位上的數提取出來,乘以2的(位次-1)次方然後求和
案例:1011= $12^3+02^2+12^1+12^0$=8+2+1 = 11

八進位制轉十進位制

規則:從最低位開始(右邊的),將每個位上的數提取出來,乘以8的(位次-1)次方然後求和
案例:0123 = $18^2+28^1+3*8^0$=64+16+3 = 83

十六進位制轉十進位制

規則:從最低位開始(右邊的),將每個位上的數提取出來,乘以16的(位次-1)次方然後求和
案例:0x34A = $1016^0+416^1+3*16^2$= 10+64+768 = 842

2. 十進位制轉其他進位制

  1. 十進位制轉二進位制
  2. 十進位制轉八進位制
  3. 十進位制轉十六進位制

十進位制轉二進位制

規則:將該數不斷除以2,直至商為0為止,然後將每步得到的餘數倒過來,就是對應的二進位制
案例:56= 111000

十進位制轉八進位制

規則:將該數不斷除以8,直至商為0為止,然後將每步得到的餘數倒過來,就是對應的八進位制
案例:156=0234

十進位制轉十六進位制

規則:將該數不斷除以16,直至商為0為止,然後將每步得到的餘數倒過來,就是對應的十六進位制
案例:356= 0x164

3. 二進位制轉其他進位制

  1. 二進位制轉八進位制
  2. 二進位制轉十六進位制

二進位制轉八進位制

規則:將二進位制數每三位一組(從低位開始組合--右邊!),轉成對應的八進位制數即可
案例:11010101 = 11/010/101 = 324 = 0324

二進位制轉十六進位制

規則:將二進位制數每四位一組(從低位開始組合--右邊!),轉成對應的十六進位制數即可
案例:11010101= 1101/0101 = 13/5 = D5 = 0xD5

4.八進位制、十六進位制轉二進位制

  1. 八進位制轉二進位制
  2. 十六進位制轉二進位制

八進位制轉二進位制

規則:將八進位制數每一位(從低位開始組合--右邊!),轉成對應的一個3位的二進位制數即可
案例:0237= 10/011/111 = 10011111

十六進位制轉二進位制

規則:將十六進位制數每一位(從低位開始組合--右邊!),轉成對應的一個4位元的二進位制數即可
案例:0x237= 10/0011/0111 = 1000110111

有點亂,重新總結下


進位制總結

1:種類:2、8、10、16

2:具體組成

  1. 2:0、1
  2. 8:0-7
  3. 10:0-9
  4. 16:0-9、A、B、C、D、E、F

3:其他進位制轉十進位制

乘以被轉進位制的(位次-1)次方然後求和

4:十進位制轉其他進位制

被轉換數除以要轉的進去,直至商為0為止,然後將每步得到的餘數倒過來

5:二進位制轉其他進位制

轉八進位制,從右邊開始,每三位劃分

轉十六進位制,從右邊開始,每四位劃分

6:八進位制、十六進位制轉二進位制

八進位制轉,從右邊開始,每三位劃分

十六進位制轉,從右邊開始,每四位劃分

更多PHP相關技術文章,請存取PHP教學欄目進行學習!

以上就是PHP中的進位制轉換的詳細內容,更多請關注TW511.COM其它相關文章!