首页 > 编程笔记 > Go语言笔记 阅读:1,355

Go语言进制与转换

常见进制有以下几种:

任意进制转换为十进制

二进制转十进制:从最低位开始,每个位上数乘以 2 的位数减 1 次方然后求和。

1011 = 1*20 + 1*21 + 0*22 + 1*23 = 11

八进制转十进制:从最低位开始,每个位上数乘以 8 的位数减 1 次方然后求和。

0123 = 3*80 + 2*81 + 1*82 + 0*83 = 83

其他进制转十进制同理。

十进制转其他进制

十进制转二进制:不断除以 2,直到 0 为止,余数倒过来即可,如下图所示:


十进制转八进制:不断除以 8,直到 0 为止,余数倒过来即可。

十进制转十六进制:同上。

其他进制互转:

反码补码

对于有符号数而言,二进制的最高为是符号位:0 表示正数,1 表示负数。

比如 1 在二进制中:

1  使用二进制表示为:0000  0001
-1 使用二进制表示为:1000  0001

正数的原码、反码、补码都一样,负数的反码 = 原码符号位不变,其他位取反,补码是反码 +1

                  1                      -1
原码  0000  0001        1000  0001
反码  0000  0001        1111  1110
补码  0000  0001        1111  1111

常见理解:

爱面试的程序媛,一个分享面试经验的公众号。跟着站长一起学习,每天都有进步。

通俗易懂,深入浅出,定时分享程序员面试的那点事。

面试如何造火箭?工作如何拧螺丝?都在这个公号哦。

扫描二维码关注公众号,免费领取价值 1000 元的求职面试资料(限时免费)!

当你决定关注「爱面试的程序媛」,你已然超越了90%的程序员!

爱面试的程序媛二维码
微信扫描二维码关注

所有教程

优秀文章