亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 內(nèi)置函數(shù)進(jìn)制轉(zhuǎn)換的用法(十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制)

 更新時(shí)間:2018年04月30日 23:03:19   投稿:mdxy-dxy  
這篇文章主要介紹了使用Python內(nèi)置函數(shù):bin()、oct()、int()、hex()可實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換的一些用法,需要的朋友可以參考下

使用Python內(nèi)置函數(shù):bin()、oct()、int()、hex()可實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換。

先看Python官方文檔中對(duì)這幾個(gè)內(nèi)置函數(shù)的描述:

bin(x)
Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

oct(x)
Convert an integer number to an octal string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

int([number | string[, base]])
Convert a number or string to an integer. If no arguments are given, return 0. If a number is given, return number.__int__(). Conversion of floating point numbers to integers truncates towards zero. A string must be a base-radix integer literal optionally preceded by ‘+' or ‘-‘ (with no space in between) and optionally surrounded by whitespace. A base-n literal consists of the digits 0 to n-1, with ‘a(chǎn)' to ‘z' (or ‘A' to ‘Z') having values 10 to 35. The default base is 10. The allowed values are 0 and 2-36. Base-2, -8, and -16 literals can be optionally prefixed with 0b/0B, 0o/0O, or 0x/0X, as with integer literals in code. Base 0 means to interpret exactly as a code literal, so that the actual base is 2, 8, 10, or 16, and so that int('010', 0) is not legal, while int('010') is, as well as int('010', 8).

hex(x)
Convert an integer number to a hexadecimal string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

2進(jìn)制 8進(jìn)制 10進(jìn)制 16進(jìn)制
2進(jìn)制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16))
8進(jìn)制 oct(int(x, 2)) - oct(int(x, 10)) oct(int(x, 16))
10進(jìn)制 int(x, 2) int(x, 8) - int(x, 16)
16進(jìn)制 hex(int(x, 2)) hex(int(x, 8)) hex(int(x, 10)) -

bin()、oct()、hex()的返回值均為字符串,且分別帶有0b、0o、0x前綴。

Python進(jìn)制轉(zhuǎn)換(二進(jìn)制、十進(jìn)制和十六進(jìn)制)實(shí)例

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 2/10/16 base trans. wrote by srcdog on 20th, April, 2009
# ld elements in base 2, 10, 16.

import os,sys

# global definition
# base = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F]
base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]

# bin2dec
# 二進(jìn)制 to 十進(jìn)制: int(str,n=10) 
def bin2dec(string_num):
 return str(int(string_num, 2))

# hex2dec
# 十六進(jìn)制 to 十進(jìn)制
def hex2dec(string_num):
 return str(int(string_num.upper(), 16))

# dec2bin
# 十進(jìn)制 to 二進(jìn)制: bin() 
def dec2bin(string_num):
 num = int(string_num)
 mid = []
 while True:
 if num == 0: break
 num,rem = divmod(num, 2)
 mid.append(base[rem])

 return ''.join([str(x) for x in mid[::-1]])

# dec2hex
# 十進(jìn)制 to 八進(jìn)制: oct() 
# 十進(jìn)制 to 十六進(jìn)制: hex() 
def dec2hex(string_num):
 num = int(string_num)
 mid = []
 while True:
 if num == 0: break
 num,rem = divmod(num, 16)
 mid.append(base[rem])

 return ''.join([str(x) for x in mid[::-1]])

# hex2tobin
# 十六進(jìn)制 to 二進(jìn)制: bin(int(str,16)) 
def hex2bin(string_num):
 return dec2bin(hex2dec(string_num.upper()))

# bin2hex
# 二進(jìn)制 to 十六進(jìn)制: hex(int(str,2)) 
def bin2hex(string_num):
 return dec2hex(bin2dec(string_num))

以下代碼用于實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制、十六進(jìn)制:

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

# Filename : test.py
# author by : chabaoo.cn

# 獲取用戶輸入十進(jìn)制數(shù)
dec = int(input("輸入數(shù)字:"))

print("十進(jìn)制數(shù)為:", dec)
print("轉(zhuǎn)換為二進(jìn)制為:", bin(dec))
print("轉(zhuǎn)換為八進(jìn)制為:", oct(dec))
print("轉(zhuǎn)換為十六進(jìn)制為:", hex(dec))

執(zhí)行以上代碼輸出結(jié)果為:

python3 test.py
輸入數(shù)字:5
十進(jìn)制數(shù)為:5
轉(zhuǎn)換為二進(jìn)制為: 0b101
轉(zhuǎn)換為八進(jìn)制為: 0o5
轉(zhuǎn)換為十六進(jìn)制為: 0x5

python3 test.py
輸入數(shù)字:12
十進(jìn)制數(shù)為:12
轉(zhuǎn)換為二進(jìn)制為: 0b1100
轉(zhuǎn)換為八進(jìn)制為: 0o14
轉(zhuǎn)換為十六進(jìn)制為: 0xc

具體實(shí)現(xiàn)

十進(jìn)制到二進(jìn)制:

def dec2bin(num):
 l = []
 if num < 0:
 return '-' + dec2bin(abs(num))
 while True:
 num, remainder = divmod(num, 2)
 l.append(str(remainder))
 if num == 0:
  return ''.join(l[::-1])

十進(jìn)制到八進(jìn)制:

def dec2oct(num):
 l = []
 if num < 0:
 return '-' + dec2oct(abs(num))
 while True:
 num, remainder = divmod(num, 8)
 l.append(str(remainder))
 if num == 0:
  return ''.join(l[::-1])

十進(jìn)制到十六進(jìn)制:

base = [str(x) for x in range(10)] + [ chr(x) for x in range(ord('A'),ord('A')+6)]
def dec2hex(num):
 l = []
 if num < 0:
 return '-' + dec2hex(abs(num))
 while True:
 num,rem = divmod(num, 16)
 l.append(base[rem])
 if num == 0:
  return ''.join(l[::-1])

python進(jìn)2、8、16制轉(zhuǎn)換源碼

def cn(x):
 return x.decode('utf-8')
a=int(raw_input(cn('請(qǐng)輸入要轉(zhuǎn)換的數(shù)字:')))
b=int(raw_input(cn('請(qǐng)輸入要轉(zhuǎn)換的進(jìn)制:')))
def x(n,k):
 if k==16:
  d=n
  s=""
  while d!=0:
   d,f=divmod(d,k)
   if f==10:
    f='a'
   if f==11:
    f='b'
   if f==12:
    f='c'
   if f==13:
    f='d'
   if f==14:
    f='e'
   if f==15:
    f='f'
   s=str(f)+s
  return s
 elif k==2 or k==8:
  d=n
  s=""
  while d!=0:
   d,f=divmod(d,k)
   s=str(f)+s
  return s
c=x(a,b)
print c
#本程序僅支持2,8,16進(jìn)制,若想支持更多進(jìn)制請(qǐng)自己動(dòng)腦該代碼吧!

python 十進(jìn)制整數(shù)轉(zhuǎn)換為任意進(jìn)制(36以內(nèi))

def baseN(num, b):
  return ((num == 0) and "0") or (baseN(num // b, b).lstrip("0") + "0123456789abcdefghijklmnopqrstuvwxyz"[num % b])

這篇文章就結(jié)束到這,需要的朋友可以參考一下,希望大家以后多多支持腳本之家。

相關(guān)文章

  • Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考

    Python使用oslo.vmware管理ESXI虛擬機(jī)的示例參考

    oslo.vmware是OpenStack通用框架中的一部分,主要用于實(shí)現(xiàn)對(duì)虛擬機(jī)的管理任務(wù),借助oslo.vmware模塊我們可以管理Vmware ESXI集群環(huán)境。
    2021-06-06
  • python 上下文管理器使用方法小結(jié)

    python 上下文管理器使用方法小結(jié)

    本文介紹了Python中的上下文管理器,以及如何結(jié)合with語(yǔ)句來(lái)使用上下文管理器,并且總結(jié)了一下with 語(yǔ)句的執(zhí)行流程。在很多情況下,with語(yǔ)句可以簡(jiǎn)化代碼,并增加代碼的健壯性。
    2017-10-10
  • 使用Python控制攝像頭拍照并發(fā)郵件

    使用Python控制攝像頭拍照并發(fā)郵件

    這篇文章主要介紹了使用Python控制攝像頭拍照并發(fā)郵件的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Python命名空間詳解

    Python命名空間詳解

    這篇文章主要介紹了Python命名空間詳解,非常重要的概念,需要的朋友可以參考下
    2014-08-08
  • Python遞歸調(diào)用實(shí)現(xiàn)數(shù)字累加的代碼

    Python遞歸調(diào)用實(shí)現(xiàn)數(shù)字累加的代碼

    今天小編就為大家分享一篇Python遞歸調(diào)用實(shí)現(xiàn)數(shù)字累加的代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python定時(shí)爬取微博熱搜示例介紹

    Python定時(shí)爬取微博熱搜示例介紹

    大家好,本篇文章主要講的是Python定時(shí)爬取微博熱搜示例介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Python hasattr函數(shù)的具體使用

    Python hasattr函數(shù)的具體使用

    本文主要介紹了Python hasattr函數(shù)的具體使用,包括基本用法、返回值、應(yīng)用場(chǎng)景,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • python+tifffile之tiff文件讀寫(xiě)方式

    python+tifffile之tiff文件讀寫(xiě)方式

    今天小編就為大家分享一篇python+tifffile之tiff文件讀寫(xiě)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01
  • python?包(模塊?函數(shù)?類?定義?導(dǎo)入)使用詳解

    python?包(模塊?函數(shù)?類?定義?導(dǎo)入)使用詳解

    這篇文章主要為大家介紹了python?包(模塊?函數(shù)?類?定義?導(dǎo)入)的使用詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 教你怎么用python刪除相似度高的圖片

    教你怎么用python刪除相似度高的圖片

    這篇文章主要介紹了教你怎么用python刪除相似度高的圖片,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05

最新評(píng)論