【Python】进制转换
生活随笔
收集整理的這篇文章主要介紹了
【Python】进制转换
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
python 建立函數,輸入二進制數字,輸出二進制字符串
# -*- coding: utf-8 -*- """ Created on Fri Aug 17 10:44:58 2018@author: A3 """import numpy as npclass digit_conversion():def __init__(self):pass def digit_2to10(self,data):'''十進制輸入,二進制輸出'''data_con = []for i in range(len(data)):data_i = int(data[i]) * (2 ** (len(data) - i - 1))data_con.append(data_i) return sum(data_con) def digit_10to2(self,data):'''二進制輸入,十進制輸出'''data_con = []while data >= 1:p = 1 if data % 2 > 0 else 0 data_con.append(str(p))data = int(data / 2)return ''.join(data_con[::-1]) #或者用reversedef derect_2to2_1(self,data1,data2):'''第一種方法,二進制輸入,二進制輸出'''n1,n2 = list(data1[::-1]),list(data2[::-1])if len(data1) > len(data2):for i in range(1,(len(data1) - len(data2) + 1)):n2.append('0')elif len(data1) < len(data2):for i in range(1,(len(data2) - len(data1) + 1)):n1.append('0') data1,data2 = ''.join(n1),''.join(n2)data_con = []n = 0for i in range(len(data1)):data_i = 0 if (int(data1[i]) + int(data2[i]) + n) == 0 or (int(data1[i]) + int(data2[i]) + n) == 2 else 1n = 1 if (int(data1[i]) + int(data2[i]) + n)> 1 else 0data_con.append(str(data_i))return ''.join(data_con[::-1])def derect_2to2_2(self,data1,data2):'''第二種方法,二進制輸入,二進制輸出'''num = list(str(int(data1) + int(data2)))[::-1]q = 0box = []for i in range(len(num)):p = int(num[i])p = 0 if p + q == 0 or p + q == 2 else 1q = 1 if int(num[i]) + q > 1 else 0box.append(str(p))box = ''.join(box) + '1' if q == 1 else ''.join(box) return box[::-1] if __name__ == "__main__":dc = digit_conversion()result = dc.derect_2to2_2(input('please input a num:\n'),input('please input another num:\n'))print('sum is: %s' % result)總結
以上是生活随笔為你收集整理的【Python】进制转换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Python】url基础:网络爬虫技术
- 下一篇: 【Python】matplotlib基础