20 Go 十进制数转其他进制
直接上代码演示:
十进制数转二进制数
1 // 十进制123转成二进制 2 str := `十进制123转成二进制 3 十进制转二进制,即把十进制数m除以2,得到商和余数,记录下余数, 4 用商继续除以2得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为二进制数 5 具体如下: 6 十进制数123 7 123/2=61,123%2=1 8 61/2=30,61%2=1 9 30/2=15,30%2=0 10 15/2=7,15%2=1 11 7/2=3,7%2=1 12 3/2=1,3%2=1 13 1/2=0,1%2=1 14 得到的二进制数为所有的取模数倒叙排列: 15 1111011` 16 num := 123 17 fmt.Println(str) 18 fmt.Printf("十进制数 %d,转换为二进制数 %b \n", num, num) // 十进制数 123,转换为二进制数 1111011
十进制数转八进制数
1 // 十进制数678转成八进制数 2 str = `十进制数678转成八进制数 3 十进制转八进制,即把十进制数m除以8,得到商和余数,记录下余数, 4 用商继续除以8得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为八进制数 5 具体如下: 6 十进制数678 7 678/8=84,678%8=6 8 84/8=10,84%8=4 9 10/8=1,10%8=2 10 1/8=0,1%8=1 11 得到的八进制数为所有的取模数倒叙排列: 12 1246` 13 num = 678 14 fmt.Println(str) 15 fmt.Printf("十进制数 %d,转换为八进制数 %o \n", num, num) // 十进制数 678,转换为八进制数 1246
十进制数转十六进制数
1 // 十进制数8912转成十六进制数 2 str = `十进制数8912转成十六进制数 3 十进制转十六进制,即把十进制数m除以16,得到商和余数,记录下余数, 4 用商继续除以16得到商和余数,如此循环直至商为0后,把所有的余数倒叙排列即为十六进制数 5 具体如下: 6 十进制数8912 7 8912/16=557,8912%16=0 8 557/16=34,557%16=13 9 34/16=2,34%16=2 10 2/16=0,2%16=2 11 得到的十六进制数为所有的取模数倒叙排列: 12 22D0` 13 num = 8912 14 fmt.Println(str) 15 fmt.Printf("十进制数 %d,转换为十六进制数 %X \n", num, num) // 十进制数 8912,转换为十六进制数 22D0