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

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

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

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

先看Python官方文檔中對這幾個內(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進制 8進制 10進制 16進制
2進制 - bin(int(x, 8)) bin(int(x, 10)) bin(int(x, 16))
8進制 oct(int(x, 2)) - oct(int(x, 10)) oct(int(x, 16))
10進制 int(x, 2) int(x, 8) - int(x, 16)
16進制 hex(int(x, 2)) hex(int(x, 8)) hex(int(x, 10)) -

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

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

#!/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
# 二進制 to 十進制: int(str,n=10) 
def bin2dec(string_num):
 return str(int(string_num, 2))

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

# dec2bin
# 十進制 to 二進制: 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
# 十進制 to 八進制: oct() 
# 十進制 to 十六進制: 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
# 十六進制 to 二進制: bin(int(str,16)) 
def hex2bin(string_num):
 return dec2bin(hex2dec(string_num.upper()))

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

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

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

# Filename : test.py
# author by : www.dbjr.com.cn

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

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

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

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

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

具體實現(xià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])

十進制到八進制:

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])

十進制到十六進制:

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進2、8、16制轉(zhuǎn)換源碼

def cn(x):
 return x.decode('utf-8')
a=int(raw_input(cn('請輸入要轉(zhuǎn)換的數(shù)字:')))
b=int(raw_input(cn('請輸入要轉(zhuǎ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進制,若想支持更多進制請自己動腦該代碼吧!

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

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

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

相關文章

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

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

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

    python 上下文管理器使用方法小結

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

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

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

    Python命名空間詳解

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

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

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

    Python定時爬取微博熱搜示例介紹

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

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

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

    python+tifffile之tiff文件讀寫方式

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

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

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

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

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

最新評論