加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Golang二进制转换十进制代码

发布时间:2020-12-16 18:42:24 所属栏目:大数据 来源:网络整理
导读:Golang二进制转换十进制代码,使用 container/list 实现出入栈操作,完成转换。 二进制转十进制的方法是: ? ? 从右到左的取数值乘以2的N次幂,依次相加,N为数值在二进制中的位数。 ? ? packagemain/**二进制转换成十进制核心:入栈、出栈、类型转换sum+=int

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("栈的当前容量是%dn",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("二进制转化为十进制结果是%dn",sum)

for{
}
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读