進制
四種
在 golang 中,不能直接使用二進制來表示一個整數,它沿用了 c 的特點。
package mainimport "fmt"func main() { var i int = 5 //二進制 fmt.Printf("%b ",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進制圖示
規則:從最低位開始(右邊的),將每個位上的數提取出來,乘以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,直至商為0為止,然后將每步得到的余數倒過來,就是對應的二進制
案例:56= 111000
規則:將該數不斷除以8,直至商為0為止,然后將每步得到的余數倒過來,就是對應的八進制
案例:156=0234
規則:將該數不斷除以16,直至商為0為止,然后將每步得到的余數倒過來,就是對應的十六進制
案例:356= 0x164
規則:將二進制數每三位一組(從低位開始組合--右邊?。?,轉成對應的八進制數即可
案例:11010101 = 11/010/101 = 324 = 0324
規則:將二進制數每四位一組(從低位開始組合--右邊?。D成對應的十六進制數即可
案例:11010101= 1101/0101 = 13/5 = D5 = 0xD5
規則:將八進制數每一位(從低位開始組合--右邊?。?,轉成對應的一個3位的二進制數即可
案例:0237= 10/011/111 = 10011111
規則:將十六進制數每一位(從低位開始組合--右邊?。D成對應的一個4位的二進制數即可
案例:0x237= 10/0011/0111 = 1000110111
有點亂,重新總結下
乘以被轉進制的(位次-1)次方然后求和
4:十進制轉其他進制被轉換數除以要轉的進去,直至商為0為止,然后將每步得到的余數倒過來
5:二進制轉其他進制轉八進制,從右邊開始,每三位劃分
轉十六進制,從右邊開始,每四位劃分
6:八進制、十六進制轉二進制八進制轉,從右邊開始,每三位劃分
十六進制轉,從右邊開始,每四位劃分
更多PHP相關技術文章,請訪問PHP教程欄目進行學習!
以上就是PHP中的進制轉換的詳細內容,更多請關注 其它相關文章!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答