二進制數轉換成十進制數:二進制數從右向左每位數乘以2的次方(從0開始,從右向左依次+1),然後相加求和即可
如:0101轉成十進制為:1*20+0*21+1*22+0*23=1+0+4+0=5
演算法實現:
#coding=utf-8
b=raw_input("請輸入一個二進制數:".decode("utf-8").encode("gbk"))
sum=0
for i in range(len(b)):
sum+=int(b[len(b)-1-i])*pow(2,i)
print u"轉換成十進制數是:",sum
二進制數轉換成十進制數
由二進制數轉換成十進制數的基本做法是,把二進制數首先寫成加權系數展開式,然後按十進制加法規則求和。這種做法稱為"按權相加"法。 例1105 把二進制數110.11轉換成十進制數。
十進制數轉換為二進制數時,由於整數和小數的轉換方法不同,所以先將十進制數的整數部分和小數部分分別轉換後,再加以合並。
以上內容參考:網路-十進制
B. python二進制怎麼表示
p:01110000
y:01111001
t:01110100
h:01101000
o:01101111
n:01101110
C. 怎樣用python進行二進制,八進制,十進制轉換
從二進制轉換為十進制有幾種方式
第一種是在二進制數前加上0b,顯示時會自動轉換為十進制,注意這並不是字元串
x = 0b1010print(x)
如果是字元串可以利用eval求值
x = eval('0b1010')
第二種是利用int函數,字元串可以以0b為前綴,也可以不使用
int('1010',base=2)int('0b1010',2)
函數會將輸入base進制的字元串轉換為十進制
D. python中怎樣將十進制數轉化為二進制
#!/usr/bin/python# -*- coding:utf-8 -*-# @Time : 2018/6/19 10:20# @Author : # @File : Dec_To_Bin.py"""十進制轉二進制""" # 定義一個十進制轉二進制的函數def dec2bin(string_num): num = int(string_num) # 將傳入的字元串數字轉換成整型 mid = [] # 定義一個空列表 while True: # 循環,條件為真時執行 if num == 0: # 當輸入值是0時,直接跳出循環 break num, rem = divmod(num, 2) # 調用函數divmod,得到商num,和余數rem mid.append(rem) # 將余數存入列表 return ''.join([str(x) for x in mid[::-1]]) # 返回結果,列表取反後拼接成字元串 if __name__ == '__main__': anum = raw_input(u'請輸入要轉換的數字:') print u'該數字轉換為二進制後是:{}'.format(dec2bin(anum))
E. Python中如何獲得一個整數的2進制的形式
採用 python 自帶了方法 bin 函數,比如 bin(12345) 回返回字元串 '0b11000000111001', 這個時候在把0b去掉即可:
>>> bin(12345).replace('0b','')
'11000000111001'
F. python怎麼處理二進制流
可以的,二進制是計算機內的表示方法,處理二進制數據是最基本的能力。
如果是二進制字元串轉十進制:
>>> x = '10101010'
>>> int(x, 2)
170
如果是從文件或網路中獲取的數據,要知道某一位是0還是1的話,獲取的數據可以按字元讀取,由於一個字元由8位二進製表示,分別讀取1到8位的二進制值就可以了:
>>> get_char_bit = lambda char, n: (char >> (8-n)) & 1 # 從高到低分別為第1~8位
>>> data = b'ab' # 在python3中字元串默認是unicode,所以加上b前綴兼容
>>> # 在python3中按字元讀取byte字元串是數字,而python2讀出來的卻是字元,但bytearray是一致的都是數字
>>> data = bytearray(data)
>>> result = []
>>> for char in data:
for i in range(1, 9):
result.append(get_char_bit(char, i))
>>> result
[0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0]
G. python怎麼把二進制轉十進制
摘要 介紹2種十進制轉二進制的方法:
H. 如何用python生成和讀取二進制文件
withopen('a.jpg','rb')asf:
s=f.read()
withopen('b.exe','wb')asf:
f.write(s)
I. 如何用Python將十進制數字轉為二進制,以及將二進制轉為十六進制
1、將十進制轉換成二進制,利用bin()方法。
J. python如何將整數轉化成二進制字元串
直接上代碼:
#coding=gbk
defintTo2Str(X,K):
"""intTo2Str(X,K)
將整數X轉化為K位2進制字元串
"""
try:
X=long(X)
except:
X=0
try:
K=int(K)
except:
K=0
ifK<1:
K=1
ifX<0:
FH=1;X=-X
else:
FH=0
A=[0forJinxrange(0,K)]
J=K-1
while(J>=0)and(X>0):
Y=X%2
X=X/2
A[J]=Y
J=J-1
ifFH==1:
#求反
forJinxrange(0,K):
ifA[J]==1:
A[J]=0
else:
A[J]=1
#末位加1
J=K-1
whileJ>=0:
A[J]=A[J]+1
ifA[J]<=1:
break;
A[J]=0
J=J-1
return"".join([chr(J+48)forJinA])
printintTo2Str(8,8)#應顯示00001000
printintTo2Str(-1,8)#應顯示10000000