這篇文章將為大家詳細(xì)講解有關(guān)PHP中進(jìn)制轉(zhuǎn)換的案例,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司企業(yè)建站,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),專(zhuān)注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢(xún)和貼心的售后服務(wù)。對(duì)于網(wǎng)站設(shè)計(jì)、網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。進(jìn)制四種
在 golang 中,不能直接使用二進(jìn)制來(lái)表示一個(gè)整數(shù),它沿用了 c 的特點(diǎn)。
package main import "fmt" func main() { var i int = 5 //二進(jìn)制 fmt.Printf("%b \n",i) var j int = 011 // 011=>8+1 = 9 //八進(jìn)制 fmt.Println("j=",j) var k int = 0x11 //0x11 => 16+1 =17 //十六進(jìn)制 0x或者0X開(kāi)頭 fmt.Println("k=",k) } //101 //j= 9 //k= 17進(jìn)制圖示1. 其他進(jìn)制轉(zhuǎn)十進(jìn)制
規(guī)則:從最低位開(kāi)始(右邊的),將每個(gè)位上的數(shù)提取出來(lái),乘以2的(位次-1)次方然后求和
案例:1011= $12^3+02^2+12^1+12^0$=8+2+1 = 11
規(guī)則:從最低位開(kāi)始(右邊的),將每個(gè)位上的數(shù)提取出來(lái),乘以8的(位次-1)次方然后求和
案例:0123 = $18^2+28^1+3*8^0$=64+16+3 = 83
規(guī)則:從最低位開(kāi)始(右邊的),將每個(gè)位上的數(shù)提取出來(lái),乘以16的(位次-1)次方然后求和
案例:0x34A = $1016^0+416^1+3*16^2$= 10+64+768 = 842
規(guī)則:將該數(shù)不斷除以2,直至商為0為止,然后將每步得到的余數(shù)倒過(guò)來(lái),就是對(duì)應(yīng)的二進(jìn)制
案例:56= 111000
規(guī)則:將該數(shù)不斷除以8,直至商為0為止,然后將每步得到的余數(shù)倒過(guò)來(lái),就是對(duì)應(yīng)的八進(jìn)制
案例:156=0234
規(guī)則:將該數(shù)不斷除以16,直至商為0為止,然后將每步得到的余數(shù)倒過(guò)來(lái),就是對(duì)應(yīng)的十六進(jìn)制
案例:356= 0x164
規(guī)則:將二進(jìn)制數(shù)每三位一組(從低位開(kāi)始組合--右邊!),轉(zhuǎn)成對(duì)應(yīng)的八進(jìn)制數(shù)即可
案例:11010101 = 11/010/101 = 324 = 0324
規(guī)則:將二進(jìn)制數(shù)每四位一組(從低位開(kāi)始組合--右邊?。?,轉(zhuǎn)成對(duì)應(yīng)的十六進(jìn)制數(shù)即可
案例:11010101= 1101/0101 = 13/5 = D5 = 0xD5
規(guī)則:將八進(jìn)制數(shù)每一位(從低位開(kāi)始組合--右邊?。?,轉(zhuǎn)成對(duì)應(yīng)的一個(gè)3位的二進(jìn)制數(shù)即可
案例:0237= 10/011/111 = 10011111
規(guī)則:將十六進(jìn)制數(shù)每一位(從低位開(kāi)始組合--右邊!),轉(zhuǎn)成對(duì)應(yīng)的一個(gè)4位的二進(jìn)制數(shù)即可
案例:0x237= 10/0011/0111 = 1000110111
有點(diǎn)亂,重新總結(jié)下
乘以被轉(zhuǎn)進(jìn)制的(位次-1)次方然后求和
4:十進(jìn)制轉(zhuǎn)其他進(jìn)制被轉(zhuǎn)換數(shù)除以要轉(zhuǎn)的進(jìn)去,直至商為0為止,然后將每步得到的余數(shù)倒過(guò)來(lái)
5:二進(jìn)制轉(zhuǎn)其他進(jìn)制轉(zhuǎn)八進(jìn)制,從右邊開(kāi)始,每三位劃分
轉(zhuǎn)十六進(jìn)制,從右邊開(kāi)始,每四位劃分
6:八進(jìn)制、十六進(jìn)制轉(zhuǎn)二進(jìn)制八進(jìn)制轉(zhuǎn),從右邊開(kāi)始,每三位劃分
十六進(jìn)制轉(zhuǎn),從右邊開(kāi)始,每四位劃分
關(guān)于PHP中進(jìn)制轉(zhuǎn)換的案例就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。