91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python十進制轉二進制的詳解

發布時間:2020-09-16 11:46:35 來源:腳本之家 閱讀:307 作者:V 欄目:開發技術

python十進制轉二進制

python中十進制轉二進制使用 bin() 函數。

bin() 返回一個整數 int 或者長整數 long int 的二進制表示。

下面是使用示例:

>>>bin(10)

'0b1010'

>>> bin(20)

'0b10100'

補充:十進制轉8進制和16進制的方法:

# -*- coding: UTF-8 -*-

 

# 獲取用戶輸入十進制數

dec = int(input("輸入數字:"))

 

print("轉換為八進制為:", oct(dec))

print("轉換為十六進制為:", hex(dec))

內容擴展:

#-*- coding: utf-8
from decimal import Decimal
def bTod(n, pre=4):
  '''
  把一個帶小數的二進制數n轉換成十進制
  小數點后面保留pre位小數
  '''
  string_number1 = str(n) #number1 表示二進制數,number2表示十進制數
  decimal = 0 #小數部分化成二進制后的值
  flag = False 
  for i in string_number1: #判斷是否含小數部分
    if i == '.':
      flag = True
      break
  if flag: #若二進制數含有小數部分
    string_integer, string_decimal = string_number1.split('.') #分離整數部分和小數部分
    for i in range(len(string_decimal)):
      decimal += 2**(-i-1)*int(string_decimal[i]) #小數部分化成二進制
    number2 = int(str(int(string_integer, 2))) + decimal
    return round(number2, pre)
  else: #若二進制數只有整數部分
    return int(string_number1, 2)#若只有整數部分 直接一行代碼二進制轉十進制 python還是騷 
 
def dTob(n, pre=4):
  '''
  把一個帶小數的十進制數n轉換成二進制
  小數點后面保留pre位小數
  '''
  string_number1 = str(n) #number1 表示十進制數,number2表示二進制數
  flag = False 
  for i in string_number1: #判斷是否含小數部分
    if i == '.':
      flag = True
      break
  if flag:
    string_integer, string_decimal = string_number1.split('.') #分離整數部分和小數部分
    integer = int(string_integer)
    decimal = Decimal(str(n)) - integer
    l1 = [0,1]
    l2 = []
    decimal_convert = ""
    while True: 
      if integer == 0: break
      x,y = divmod(integer, 2) #x為商,y為余數 
      l2.append(y)
      integer = x
    string_integer = ''.join([str(j) for j in l2[::-1]]) #整數部分轉換成二進制 
    i = 0
    while decimal != 0 and i < pre: 
      result = int(decimal * 2) 
      decimal = decimal * 2 - result 
      decimal_convert = decimal_convert + str(result) 
      i = i + 1
    string_number2 = string_integer + '.' + decimal_convert
    return float(string_number2)
 
   
  else: #若十進制只有整數部分
    l1 = [0,1]
    l2 = []
    while True: 
      if n == 0: break
      x,y = divmod(n, 2) #x為商,y為余數 
      l2.append(y)
      n = x
    string_number = ''.join([str(j) for j in l2[::-1]]) 
    return int(string_number)

以上就是本次介紹的全部相關知識點,感謝大家的學習和對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

慈溪市| 卢氏县| 罗甸县| 广灵县| 上林县| 洪江市| 新源县| 开远市| 龙川县| 晋江市| 四平市| 陕西省| 益阳市| 建德市| 安塞县| 兰溪市| 临夏县| 汤原县| 西安市| 南投县| 井冈山市| 刚察县| 化德县| 册亨县| 隆尧县| 永安市| 屯昌县| 高碑店市| 通化市| 沭阳县| 偃师市| 清丰县| 阳东县| 邹城市| 新丰县| 灵宝市| 大石桥市| 金湖县| 台南市| 克拉玛依市| 康定县|