Python栈的应用之二进制与十进制转换

本文介绍如何使用Python的栈数据结构来实现二进制与十进制之间的转换。通过示例代码详细阐述了转换过程,并展示了具体的结果。
摘要由CSDN通过智能技术生成

示例:

233转为2进制:除2法,转8进制除8,转16进制除16
二进制数的尾:233//2=116  余1
				    116//2=58  余0
					 		58//2=29  余0
					 			  29//2=14  余1
					 			  		14//2=7  余0
					 			  			  7//2=3  余1
					 			  			  	   3//2=1  余1
二进制数的头:					 			  			1//2=0  余1
二进制数为头——>尾的余数,即:11101001

11101001转为10进制:
		1   1   1   0   1   0   0   1
下标		7   6   5   4   3   2   1   0
计算:1*2**7+1*2**6+1*2**5+0*2**4+1*2**3+0*2**2+0*2**1+1*2**0=128+64+32+0+8+0+0+1=233

完整代码:

# 二进制转换成十进制
def two_to_ten(s1):
	length = len(s1)
	s2 = s1[::-1]							#切片[开始:结束:步长],用作反转,并生成新值
	num = 0
	for i in range(length):
		num += int(s2[i])*2**i
	return num

# 定义栈类
class Stack(object):
     def __init__(self):							#初始化空栈
         self.items &
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值