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

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

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

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

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

上代碼

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

def dTob(n, pre=4):
  '''
  把一個(gè)帶小數(shù)的十進(jìn)制數(shù)n轉(zhuǎn)換成二進(jìn)制
  小數(shù)點(diǎn)后面保留pre位小數(shù)
  '''
  string_number1 = str(n) #number1 表示十進(jìn)制數(shù),number2表示二進(jìn)制數(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)換成二進(jì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: #若十進(jìn)制只有整數(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)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

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

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

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

    python?PyAutoGUI實(shí)現(xiàn)自動(dòng)化鼠標(biāo)鍵盤等常用操作

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

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

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

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

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

    詳解python命令提示符窗口下如何運(yùn)行python腳本

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

    Python使用Ollama API的詳細(xì)代碼示例

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

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

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

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

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

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

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

    python中的Pillow常用功能詳解

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

最新評(píng)論