Golang二进制转换十进制代码

前端之家收集整理的这篇文章主要介绍了Golang二进制转换十进制代码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Golang二进制转换十进制代码,使用 container/list 实现出入栈操作,完成转换。

二进制转十进制的方法是:从右到左的取数值乘以2的N次幂,依次相加,N为数值在二进制中的位数。

packagemain

/**
二进制转换成十进制
核心:
入栈、出栈、类型转换
sum+=int(v-48)*int(math.Pow(2,N))
**/

import(
"container/list"
"fmt"
"math"
)

funcmain(){
stack:=list.New()

varinputstring
varsumint
varstnum,conumfloat64=0,2

fmt.Printf("请输入一段二进制数字:")
fmt.Scanf("%s",&input)
for_,c:=rangeinput{
//入栈typerune
stack.PushBack(c)
}

length:=stack.Len()
fmt.Printf("栈的当前容量是%d\n",length)

//出栈
fore:=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("二进制转化为十进制结果是%d\n",sum)

for{
}
}

猜你在找的Go相关文章