这篇文章将为大家详细讲解有关PHP中进制转换的案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
四种
在 golang 中,不能直接使用二进制来表示一个整数,它沿用了 c 的特点。
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
规则:从最低位开始(右边的),将每个位上的数提取出来,乘以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
规则:将二进制数每四位一组(从低位开始组合--右边!),转成对应的十六进制数即可
案例:11010101= 1101/0101 = 13/5 = D5 = 0xD5
规则:将八进制数每一位(从低位开始组合--右边!),转成对应的一个3位的二进制数即可
案例:0237= 10/011/111 = 10011111
规则:将十六进制数每一位(从低位开始组合--右边!),转成对应的一个4位的二进制数即可
案例:0x237= 10/0011/0111 = 1000110111
有点乱,重新总结下
乘以被转进制的(位次-1)次方然后求和
被转换数除以要转的进去,直至商为0为止,然后将每步得到的余数倒过来
转八进制,从右边开始,每三位划分
转十六进制,从右边开始,每四位划分
八进制转,从右边开始,每三位划分
十六进制转,从右边开始,每四位划分
关于PHP中进制转换的案例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。