欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python十進制和二進制的轉(zhuǎn)換方法(含浮點數(shù))

 更新時間:2018年07月07日 17:14:08   作者:kick-ass。Nuisance  
這篇文章主要介紹了python十進制和二進制的轉(zhuǎn)換方法(含浮點數(shù)),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了python十進制和二進制的轉(zhuǎn)換方法(含浮點數(shù)),分享給大家,也給自己留個筆記,具體如下:

我終于寫完了 , 十進制轉(zhuǎn)二進制的小數(shù)部分卡了我將近一個小時

上代碼

#-*- coding: utf-8
from decimal import Decimal
def bTod(n, pre=4):
  '''
  把一個帶小數(shù)的二進制數(shù)n轉(zhuǎn)換成十進制
  小數(shù)點后面保留pre位小數(shù)
  '''
  string_number1 = str(n) #number1 表示二進制數(shù),number2表示十進制數(shù)
  decimal = 0 #小數(shù)部分化成二進制后的值
  flag = False  
  for i in string_number1: #判斷是否含小數(shù)部分
    if i == '.':
      flag = True
      break
  if flag: #若二進制數(shù)含有小數(shù)部分
    string_integer, string_decimal = string_number1.split('.') #分離整數(shù)部分和小數(shù)部分
    for i in range(len(string_decimal)):
      decimal += 2**(-i-1)*int(string_decimal[i]) #小數(shù)部分化成二進制
    number2 = int(str(int(string_integer, 2))) + decimal
    return round(number2, pre)
  else: #若二進制數(shù)只有整數(shù)部分
    return int(string_number1, 2)#若只有整數(shù)部分 直接一行代碼二進制轉(zhuǎn)十進制 python還是騷 

def dTob(n, pre=4):
  '''
  把一個帶小數(shù)的十進制數(shù)n轉(zhuǎn)換成二進制
  小數(shù)點后面保留pre位小數(shù)
  '''
  string_number1 = str(n) #number1 表示十進制數(shù),number2表示二進制數(shù)
  flag = False  
  for i in string_number1: #判斷是否含小數(shù)部分
    if i == '.':
      flag = True
      break
  if flag:
    string_integer, string_decimal = string_number1.split('.') #分離整數(shù)部分和小數(shù)部分
    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為余數(shù) 
      l2.append(y)
      integer = x
    string_integer = ''.join([str(j) for j in l2[::-1]]) #整數(shù)部分轉(zhuǎn)換成二進制 
    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: #若十進制只有整數(shù)部分
    l1 = [0,1]
    l2 = []
    while True: 
      if n == 0: break
      x,y = divmod(n, 2) #x為商,y為余數(shù) 
      l2.append(y)
      n = x
    string_number = ''.join([str(j) for j in l2[::-1]]) 
    return int(string_number)

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python中的json對象與string相互轉(zhuǎn)換教程

    Python中的json對象與string相互轉(zhuǎn)換教程

    python里有json這個庫,但并沒有json這個類,所以所謂的json對象本質(zhì)上就是一個dict;而json這個庫,用于實現(xiàn)dict到string、string到dict的互轉(zhuǎn),這篇文章主要介紹了Python中的json對象與string相互轉(zhuǎn)換教程,需要的朋友可以參考下
    2022-11-11
  • python?PyAutoGUI實現(xiàn)自動化鼠標鍵盤等常用操作

    python?PyAutoGUI實現(xiàn)自動化鼠標鍵盤等常用操作

    這篇文章主要介紹了python?PyAutoGUI實現(xiàn)自動化鼠標鍵盤等常用操作使用實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Python實現(xiàn)帶圖形界面的炸金花游戲

    Python實現(xiàn)帶圖形界面的炸金花游戲

    詐金花又叫三張牌,是在全國廣泛流傳的一種民間多人紙牌游戲,它具有獨特的比牌規(guī)則。本文將通過Python語言實現(xiàn)帶圖形界面的詐金花游戲,需要的可以參考一下
    2022-12-12
  • Cpython3.9源碼解析python中的大小整數(shù)

    Cpython3.9源碼解析python中的大小整數(shù)

    這篇文章主要介紹了Cpython3.9源碼解析python中的大小整數(shù),在CPython中,小整數(shù)對象池是一種優(yōu)化機制,用于減少對常用小整數(shù)的內(nèi)存分配和銷毀開銷,需要的朋友可以參考下
    2023-04-04
  • 詳解python命令提示符窗口下如何運行python腳本

    詳解python命令提示符窗口下如何運行python腳本

    這篇文章主要介紹了詳解python命令提示符窗口下如何運行python腳本,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09
  • Python使用Ollama API的詳細代碼示例

    Python使用Ollama API的詳細代碼示例

    這篇文章主要介紹了如何在Python中使用OllamaAPI,涵蓋了從環(huán)境準備、使用方法到高級功能的全面指南,無論是初學者還是經(jīng)驗豐富的開發(fā)者都能從中受益,需要的朋友可以參考下
    2025-02-02
  • python偏函數(shù)的實例用法總結(jié)

    python偏函數(shù)的實例用法總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python偏函數(shù)的實例用法總結(jié)內(nèi)容,有興趣的朋友們可以跟著學習參考下。
    2021-07-07
  • Python3安裝與環(huán)境配置的超完整教程

    Python3安裝與環(huán)境配置的超完整教程

    這篇文章主要介紹了在Windows系統(tǒng)中安裝和配置Python3,包括下載、安裝、環(huán)境變量配置、驗證安裝、安裝常用工具和庫以及解決常見問題,需要的朋友可以參考下
    2025-02-02
  • python?dowhy數(shù)據(jù)估計因果分析功能探索

    python?dowhy數(shù)據(jù)估計因果分析功能探索

    這篇文章主要為大家介紹了python?dowhy數(shù)據(jù)估計因果分析功能實例探索,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-02-02
  • python中的Pillow常用功能詳解

    python中的Pillow常用功能詳解

    Pillow是一個強大的圖像處理庫,支持多種圖像操作,如打開、保存、裁剪、調(diào)整大小、旋轉(zhuǎn)、翻轉(zhuǎn)、過濾、合成、添加文字、調(diào)整模式和創(chuàng)建縮略圖,本文介紹python中的Pillow常用功能,感興趣的朋友一起看看
    2025-02-02

最新評論