其他分享
首页 > 其他分享> > 19 Go 其他进制转十进制

19 Go 其他进制转十进制

作者:互联网

在Golang中

1 二进制:0,1,满2进1。在golang中不能直接使用二进制表示一个整数,这一点沿用的C语言的特性 2 八进制:0-7,满8进1。以数字0开头表示 3 十进制:0-9,满10进1。 4 十六进制:0-9及A-F,满16进1。以0x或0X开头表示,此处的A-F不区分大小写   案例一:将二进制数1011转成十进制的数
 1 // 案例一:将二进制数1011转成十进制的数
 2 str := `将二进制数1011转成十进制的数:
 3 将二进制的每一位数字m乘以2的(位数n-1)次方,然后将这些结果相加即得到其对应的十进制数,拆解如下:
 4 1011
 5 = 1*2的(4-1)次方 + 0*2的(3-1) + 1*2的(2-1)次方 + 1*2的(1-1)次方
 6 = 1*8 + 0*4 + 1*2 + 1*1
 7 = 8 + 0 + 2 + 1
 8 = 11`
 9 decimalNum := 11
10 fmt.Println(str)
11 fmt.Printf("二进制数 %b 转成十进制后为 %d \n", decimalNum, decimalNum) // 二进制数 1011 转成十进制后为 11

    案例二:将八进制数02456转成十进制的数
 1 str = `将八进制数02456转成十进制的数:
 2 将八进制的每一位数字m乘以8的(位数n-1)次方,然后将这些结果相加即得到其对应的十进制数,拆解如下:
 3 02456
 4 = 2*8的(4-1)次方 + 4*8的(3-1)次方 + 5*8的(2-1)次方 + 6*8(1-1)次方
 5 = 2*512 + 4*64 + 5*8 + 6*1
 6 = 1024 + 256 + 40 + 6
 7 = 1326`
 8 decimalNum = 1326
 9 fmt.Println(str)
10 fmt.Printf("八进制数 %o 转成十进制后为 %d \n", decimalNum, decimalNum) // 八进制数 2456 转成十进制后为 1326

 

 

案例三:将十六进制数OxA45转成十进制的数
 1 str = `将十六进制数OxA45转成十进制的数:
 2 将十六进制的每一位数字m乘以16的(位数n-1)次方,然后将这些结果相加即得到其对应的十进制数,拆解如下:
 3 OxA45
 4 = 10*16的(3-1)次方 + 4*16的(2-1)次方 + 5*16的(1-1)次方
 5 = 10*256 + 4*16 + 5*1
 6 = 2560 + 64 + 5
 7 = 2629`
 8 decimalNum = 2629
 9 fmt.Println(str)
10 fmt.Printf("十六进制数 %x 转成十进制后为 %d \n", decimalNum, decimalNum) // 十六进制数 a45 转成十进制后为 2629

 

 

 

标签:十六进制,二进制,19,decimalNum,次方,Go,八进制,十进制
来源: https://www.cnblogs.com/chengshan/p/16328784.html