进制
四种
- 二进制:0,1 ,满 2 进 1。
在 golang 中,不能直接运用二进制来示意一个整数,它沿用了 c 的特性。
- 十进制:0-9 ,满 10 进 1。
- 八进制:0-7 ,满 8 进 1. 以数字 0 开首示意。
- 十六进制: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
进制图示
1. 其他进制转十进制
- 二进制转十进制
- 八进制转十进制
- 十六进制转十进制
二进制转十进制
划定规矩:从最低位最先(右侧的),将每个位上的数提取出来,乘以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. 十进制转其他进制
- 十进制转二进制
- 十进制转八进制
- 十进制转十六进制
十进制转二进制
划定规矩:将该数不停除以2,直至商为0为止,然后将每步获得的余数倒过来,就是对应的二进制
案例:56= 111000
十进制转八进制
划定规矩:将该数不停除以8,直至商为0为止,然后将每步获得的余数倒过来,就是对应的八进制
案例:156=0234
十进制转十六进制
划定规矩:将该数不停除以16,直至商为0为止,然后将每步获得的余数倒过来,就是对应的十六进制
案例:356= 0x164
3. 二进制转其他进制
- 二进制转八进制
- 二进制转十六进制
二进制转八进制
划定规矩:将二进制数每三位一组(从低位最先组合--右侧!),转成对应的八进制数即可
案例:11010101 = 11/010/101 = 324 = 0324
二进制转十六进制
划定规矩:将二进制数每四位一组(从低位最先组合--右侧!),转成对应的十六进制数即可
案例:11010101= 1101/0101 = 13/5 = D5 = 0xD5
4.八进制、十六进制转二进制
- 八进制转二进制
- 十六进制转二进制
八进制转二进制
划定规矩:将八进制数每一位(从低位最先组合--右侧!),转成对应的一个3位的二进制数即可
案例:0237= 10/011/111 = 10011111
十六进制转二进制
划定规矩:将十六进制数每一位(从低位最先组合--右侧!),转成对应的一个4位的二进制数即可
案例:0x237= 10/0011/0111 = 1000110111
有点乱,从新总结下
进制总结
1:品种:2、8、10、16
2:细致构成
- 2:0、1
- 8:0-7
- 10:0-9
- 16:0-9、A、B、C、D、E、F
3:其他进制转十进制
乘以被转进制的(位次-1)次方然后乞降
4:十进制转其他进制
被转换数除以要转的进去,直至商为0为止,然后将每步获得的余数倒过来
5:二进制转其他进制
转八进制,从右侧最先,每三位分别
转十六进制,从右侧最先,每四位分别
6:八进制、十六进制转二进制
八进制转,从右侧最先,每三位分别
十六进制转,从右侧最先,每四位分别
更多PHP相干技术文章,请接见PHP教程栏目举行进修!
以上就是PHP中的进制转换的细致内容,更多请关注ki4网别的相干文章!