Golang二进制转换十进制代码
生活随笔
收集整理的這篇文章主要介紹了
Golang二进制转换十进制代码
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??
Golang二進(jìn)制轉(zhuǎn)換十進(jìn)制代碼,使用 container/list 實(shí)現(xiàn)出入棧操作,完成轉(zhuǎn)換。
二進(jìn)制轉(zhuǎn)十進(jìn)制的方法是:??從右到左的取數(shù)值乘以2的N次冪,依次相加,N為數(shù)值在二進(jìn)制中的位數(shù)。??
package?main/**二進(jìn)制轉(zhuǎn)換成十進(jìn)制核心:入棧、出棧、類型轉(zhuǎn)換sum?+=?int(v-48)?*?int(math.Pow(2,?N)) **/import?("container/list""fmt""math" )func?main()?{stack?:=?list.New()var?input?stringvar?sum?intvar?stnum,?conum?float64?=?0,?2fmt.Printf("請(qǐng)輸入一段二進(jìn)制數(shù)字:")fmt.Scanf("%s",?&input)for?_,?c?:=?range?input?{//?入棧?type?runestack.PushBack(c)}length?:=?stack.Len()fmt.Printf("棧的當(dāng)前容量是?%d\n",?length)//?出棧for?e?:=?stack.Back();?e?!=?nil;?e?=?e.Prev()?{//?rune是int32的別名v?:=?e.Value.(int32)sum?+=?int(v-48)?*?int(math.Pow(conum,?stnum))stnum++}fmt.Printf("二進(jìn)制轉(zhuǎn)化為十進(jìn)制結(jié)果是?%d\n",?sum)for?{} }轉(zhuǎn)載于:https://my.oschina.net/yiqu/blog/425279
總結(jié)
以上是生活随笔為你收集整理的Golang二进制转换十进制代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 使用dom4j解析XML文件
- 下一篇: chkconfig的用法