ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

19 Go 其他进制转十进制

2022-05-30 23:33:27  阅读:235  来源: 互联网

标签:十六进制 二进制 19 decimalNum 次方 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有