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

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

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

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

先看Python官方文檔中對這幾個內置函數(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' 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進制轉換(二進制、十進制和十六進制)實例

#!/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)十進制轉二進制、八進制、十六進制:

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

# Filename : test.py
# author by : www.fzitv.net

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

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

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

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

python3 test.py
輸入數(shù)字:12
十進制數(shù)為:12
轉換為二進制為: 0b1100
轉換為八進制為: 0o14
轉換為十六進制為: 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制轉換源碼

def cn(x):
 return x.decode('utf-8')
a=int(raw_input(cn('請輸入要轉換的數(shù)字:')))
b=int(raw_input(cn('請輸入要轉換的進制:')))
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ù)轉換為任意進制(36以內)

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

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

相關文章

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

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

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

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

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

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

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

    python如何給內存和cpu使用量設置限制

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

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

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

    對tensorflow 的模型保存和調用實例講解

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

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

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

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

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

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

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

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

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

最新評論

留坝县| 东丽区| 久治县| 杂多县| 南城县| 景谷| 五莲县| 上虞市| 额敏县| 射阳县| 九龙坡区| 深水埗区| 武强县| 蚌埠市| 凉城县| 建湖县| 化德县| 祁连县| 宁化县| 齐河县| 桂平市| 桃园县| 会理县| 灵宝市| 定襄县| 凯里市| 鹤岗市| 安康市| 临高县| 东光县| 博白县| 历史| 杂多县| 太和县| 水城县| 凤城市| 龙川县| 班玛县| 舒城县| 宁都县| 正安县|