【一 Go 到底】第九天 --- 进制
一、进制介绍
1.1 二进制
在 golang 中,不能直接使用二进制来表示-一个整数,它沿用了 c 的特点。
表示方法
复制代码
1.2 八进制
可直接表示
复制代码
1.3 十六进制
可直接表示
复制代码
二、进制转换
2.1 其他进制 转 十进制
2.1.1 二进制 转 十进制
规则:从最低位开始(右边的),将每个位上的数提取出来,乘以 2 的(位数-1)次方,然后求和。
案例二进制数 1011 转 十进制
复制代码
2.1.2 八进制 转 十进制
规则:从最低位开始(右边的),将每个位上的数提取出来,乘以 8 的(位数-1)次方,然后求和。
案例八进制数 0123 转 十进制
复制代码
2.1.3
规则:从最低位开始(右边的),将每个位上的数提取出来,乘以 16 的(位数-1)次方,然后求和。
案例十六进制数 0x34A 转 十进制
复制代码
2.2 十进制 转 其他进制
2.2.1 十进制 转 二进制
规则:将该数不断除以 2,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的二进制。
2.2.2 十进制 转 八进制
规则:将该数不断除以 8,直到商为为止,然后将每步得到的余数倒过来,就是对应的八进制。
2.2.3 十进制 转 十六进制
规则:将该数不断除以 16,直到商为 0 为止,然后将每步得到的余数倒过来,就是对应的十六进制。
2.3 二进制 转 其他进制
2.3.1 二进制 转 八进制
规则:将二进制数每三位一组(从低 位开始组合),转成对应的八进制数即可。
案例:请将二进制: 11010101 转成八进制
复制代码
2.3.2 二进制 转 十六进制
规则:将二进制数每四位一组(从低 位开始组合),转成对应的十六进制数即可。
案例:请将二进制: 11010101 转成十六进制
复制代码
2.4 其他进制 转 二进制
2.4.1 八进制 转 二进制
规则:将八进制数每 1 位,转成对应的一一个 3 位的二进制数即可。
案例:请将 0237 转成二进制
复制代码
2.4.2 十六进制 转 二进制
规则:将十六进制数每 1 位,转成对应的一个 4 位的二进制数即可。
案例:请将 0x237 转成二进制
复制代码
版权声明: 本文为 InfoQ 作者【指剑】的原创文章。
原文链接:【http://xie.infoq.cn/article/62dae9365038905dd4cf839df】。文章转载请联系作者。
评论