最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間: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官方文檔中對這幾個內(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 : m.fzitv.net

# 獲取用戶輸入十進(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('請輸入要轉(zhuǎn)換的數(shù)字:')))
b=int(raw_input(cn('請輸入要轉(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)制請自己動腦該代碼吧!

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)文章

  • 利用Tensorflow的隊(duì)列多線程讀取數(shù)據(jù)方式

    利用Tensorflow的隊(duì)列多線程讀取數(shù)據(jù)方式

    今天小編就為大家分享一篇利用Tensorflow的隊(duì)列多線程讀取數(shù)據(jù)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python實(shí)現(xiàn)txt文件格式轉(zhuǎn)換為arff格式

    python實(shí)現(xiàn)txt文件格式轉(zhuǎn)換為arff格式

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)txt文件格式轉(zhuǎn)換為arff格式的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹

    python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別介紹

    我們經(jīng)常在尋找數(shù)據(jù)的某行或者某列的時常用到Pandas中的兩種方法iloc和loc,兩種方法都接收兩個參數(shù),第一個參數(shù)是行的范圍,第二個參數(shù)是列的范圍,這篇文章主要介紹了python數(shù)據(jù)分析基礎(chǔ)之pandas中l(wèi)oc()與iloc()的介紹與區(qū)別,需要的朋友可以參考下
    2024-07-07
  • python如何給內(nèi)存和cpu使用量設(shè)置限制

    python如何給內(nèi)存和cpu使用量設(shè)置限制

    這篇文章主要介紹了python如何給內(nèi)存和cpu使用量設(shè)置限制,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python的特殊語法和常用模塊示例詳解

    python的特殊語法和常用模塊示例詳解

    Python確實(shí)支持函數(shù)式編程,并提供了一些內(nèi)置的高階函數(shù),這些函數(shù)可以接受其他函數(shù)作為參數(shù),從而使代碼更加簡潔和功能強(qiáng)大,這篇文章主要介紹了python的特殊語法和常用模塊詳解,需要的朋友可以參考下
    2024-08-08
  • 對tensorflow 的模型保存和調(diào)用實(shí)例講解

    對tensorflow 的模型保存和調(diào)用實(shí)例講解

    今天小編就為大家分享一篇對tensorflow 的模型保存和調(diào)用實(shí)例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python實(shí)現(xiàn)注冊、登錄小程序功能

    Python實(shí)現(xiàn)注冊、登錄小程序功能

    本文通過實(shí)例代碼給大家介紹了Python實(shí)現(xiàn)登錄、注冊小程序功能,代碼簡單易懂非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-09-09
  • Python3實(shí)現(xiàn)英文字母轉(zhuǎn)換哥特式字體實(shí)例代碼

    Python3實(shí)現(xiàn)英文字母轉(zhuǎn)換哥特式字體實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于Python3實(shí)現(xiàn)英文字母轉(zhuǎn)換哥特式字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python實(shí)現(xiàn)的knn算法示例

    Python實(shí)現(xiàn)的knn算法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)的knn算法,結(jié)合實(shí)例形式詳細(xì)分析了Python實(shí)現(xiàn)knn算法的原理與相關(guān)操作技巧,并附帶給出了statsmodels模塊與pandas模塊的下載、安裝操作方法,需要的朋友可以參考下
    2018-06-06
  • django通過ajax發(fā)起請求返回JSON格式數(shù)據(jù)的方法

    django通過ajax發(fā)起請求返回JSON格式數(shù)據(jù)的方法

    這篇文章主要介紹了django通過ajax發(fā)起請求返回JSON格式數(shù)據(jù)的方法,較為詳細(xì)的分析了django處理ajax請求的技巧,需要的朋友可以參考下
    2015-06-06

最新評論

中西区| 汨罗市| 称多县| 濮阳市| 仁怀市| 盈江县| 犍为县| 双牌县| 榆中县| 安徽省| 思南县| 宁陵县| 东山县| 桂东县| 剑阁县| 谷城县| 冷水江市| 锡林郭勒盟| 永康市| 东兰县| 宝鸡市| 斗六市| 屯门区| 河源市| 灵丘县| 黔南| 永顺县| 清徐县| 高唐县| 宁强县| 和平县| 额敏县| 江口县| 宁武县| 乃东县| 沈阳市| 榆中县| 灵寿县| 太湖县| 乌恰县| 宁阳县|