精华内容
下载资源
问答
  • python 十进制转换二进制

    万次阅读 2014-03-04 14:57:46
    python2.6以上的版本中自带了将十进制转化为二进制的函数bin()。 看一下bin.__doc__怎么说的。 >>> bin.__doc__ 'bin(number) -> string\n\nReturn the ...这就是一个将十进制转换二进制的函数,输出是一个
    在python2.6以上的版本中自带了将十进制转化为二进制的函数bin()。

    看一下bin.__doc__怎么说的。
    >>> bin.__doc__
    'bin(number) -> string\n\nReturn the binary representation of an integer or long integer.'
    >>> 

    这就是一个将十进制转换为二进制的函数,输出是一个字符串。那么输出看看。


    >>> bin(18)
    '0b10010'
    >>> bin(-24)
    '-0b11000'
    >>> bin(0)
    '0b0'
    >>> 


    结果是二进制的一个字符串表示,支持正负数,不过前面多了两位'0b'。

    可以在使用时自己再封装一下

    >>> def mybin(x):
    	return bin(x).replace('0b', '')
    
    >>> 
    >>> mybin1(-15)
    '-1111'
    >>> mybin1(0)
    '0'
    >>> mybin1(255)
    '11111111'
    >>> 


    如果不用这个方法的话,参考了一下水木社区ann77同学的代码,改写了一个自己的转换二进制的代码。同样需要支持正负数情况。

    采用算法是主流的除2取余,再逆序排列的方法。

    >>> def mybin(x):
    
    	def gen(x):
    		y = abs(x)
    		while y > 0:
    			yield y % 2
    			y = y >> 1
    		else:
    			if x == 0: yield 0
    	l = [ i for i in gen(x)]
    	l.reverse()
    	if x >= 0:
    		print ('%d' * len(l) % tuple(l))
    	else:
    		print '-' + ('%d'* len(l) % tuple(l))
    
    		
    >>> mybin(-15)
    -1111
    >>> mybin(15)
    1111
    >>> mybin(0)
    0
    
    

    以上代码如有缺陷和改善建议,欢迎提出,以便及时更正!


    展开全文
  • python进制转换二进制十进制和十六进制)及注意事项感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!使用内置函数实现进制转换实现比较简单,主要用到以下函数:bin()、oct()、int()、hex...

    对python进制转换(二进制、十进制和十六进制)及注意事项感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

    使用内置函数实现进制转换实现比较简单,主要用到以下函数:

    bin()、oct()、int()、hex()

    下面分别详解一下各个函数的使用(附实例)

    第一部分:其他进制转十进制

    1.二进制转十进制

    使用函数:int()

    实例:

    #结果是4

    int("100",2)

    # End www.jb51.cc

    注意:上述一定不要忘记加引号,因为二进制是一个字符串

    如果不加引号会出现如下错误:

    Traceback (most recent call last):

    File "",line 1,in

    int(100,2)

    TypeError: int() can"t convert non-string with explicit base

    2.八进制转十进制

    使用函数:int()

    实例:

    #结果是4

    int("04",8)

    # End www.jb51.cc

    注意:上述一定不要忘记加引号,因为八进制是一个字符串

    3.十六进制转十进制

    使用函数:int()

    实例:

    #结果是4

    int("0x4",16)

    # End www.jb51.cc

    注意:上述一定不要忘记加引号,因为十六进制是一个字符串

    第二部分:十进制转其他进制

    1.十进制转二进制

    使用函数:bin()

    bin()函数是讲整数转换成二进制字符串

    实例:

    #十进制转二进制,其中int(4,10)表示4是一个十进制整数

    bin(int("4",10))

    #或者,直接输入一个十进制

    bin(4)

    #结果是:0b100

    # End www.jb51.cc

    注意:这里的0b100,其实就是100,0b的b是binary的意思

    2.十进制转八进制

    使用函数: oct()

    #这里也要注意,4要加引号表示是一个字符串

    oct(int("4",不转换直接输入十进制数

    oct(4)

    #结果为:04

    # End www.jb51.cc

    3.十进制转十六进制

    使用函数:hex()

    实例:

    #十进制转十六进制

    hex(int("4",10))

    #或者

    hex(4)

    #结果为:0x4

    # End www.jb51.cc

    展开全文
  • 使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。先看Python官方文档中对这几个内置函数的描述:bin(x)Convert an integer number to a binary string. The result is a valid Python expression. ...

    使用Python内置函数:bin()、oct()、int()、hex()可实现进制转换。

    先看Python官方文档中对这几个内置函数的描述:

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

    以下代码用于实现十进制转二进制、八进制、十六进制:

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

    # Filename : test.py

    # author by : www.jb51.net

    # 获取用户输入十进制数

    dec = int(input("输入数字:"))

    print("十进制数为:", dec)

    print("转换为二进制为:", bin(dec))

    print("转换为八进制为:", oct(dec))

    print("转换为十六进制为:", hex(dec))

    执行以上代码输出结果为:

    python3 test.py

    输入数字:5

    十进制数为:5

    转换为二进制为: 0b101

    转换为八进制为: 0o5

    转换为十六进制为: 0x5python3 test.py

    输入数字:12

    十进制数为:12

    转换为二进制为: 0b1100

    转换为八进制为: 0o14

    转换为十六进制为: 0xc

    具体实现

    十进制到二进制:

    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('请输入要转换的数字:')))

    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 十进制整数转换为任意进制(36以内)

    def baseN(num, b):

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

    这篇文章就结束到这,需要的朋友可以参考一下,希望大家以后多多支持我们。

    本文标题: Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)

    本文地址: http://www.cppcns.com/jiaoben/python/226745.html

    展开全文
  • 题目难度:★☆☆☆☆类型:数学颠倒给定的 32 位无符号整数的二进制位。提示:请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,...

    题目

    难度:★☆☆☆☆

    类型:数学

    颠倒给定的 32 位无符号整数的二进制位。

    提示:

    请注意,在某些语言(如 Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是有符号的还是无符号的,其内部的二进制表示形式都是相同的。

    在 Java 中,编译器使用二进制补码记法来表示有符号整数。因此,在上面的 示例 2 中,输入表示有符号整数 -3,输出表示有符号整数 -1073741825。

    进阶:

    如果多次调用这个函数,你将如何优化你的算法?

    示例

    示例 1:

    输入: 00000010100101000001111010011100

    输出: 00111001011110000010100101000000

    解释: 输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596,

    因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。

    示例 2:

    输入:11111111111111111111111111111101

    输出:10111111111111111111111111111111

    解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,

    因此返回 3221225471 其二进制表示形式为 10101111110010110010011101101001。

    解答

    这道题目很简单,我们可以将十进制转换位二进制数,并逆序后转为十进制数即可。用Python一句话可以实现:

    class Solution:

    # @param n, an integer

    # @return an integer

    def reverseBits(self, n):

    return int(bin(n)[2:].rjust(32, '0')[::-1], base=2)

    这里需要补充几个Python中的知识点:

    bin(n):将十进制数转换为二进制字符串,不过字符串首段有“0b”字符;

    s.rjust(32, '0'):将字符串s补全为长度为32的字符串,s右对齐,不够的地方用字符“0”补全;

    int(x, base=2):将二进制字符串转换为十进制数。

    如有疑问或建议,欢迎评论区留言~

    展开全文
  • python进制转换python十进制转为二进制,题目描述:输入一个整题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。分析:python没有unsignedint类型>>>print("%x"%0xFFFFFFFF...
  • 具体实现十进制二进制: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])十进制到...
  • 十六进制 到 十进制使用 int() 函数 ,第一个参数是字符串 0Xff ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。 int(0xf,16)15二进制使用 int()... int('0xf',16)15二进制十进制>&...
  • python妙用之编码的转换详解前言记得刚入门那个时候,自己处理编码转换问题往往是“百度:url解码、base64加密、hex……”,或者是使用一款叫做“小葵多功能转换工具”的软件,再后来直接上Burpsuite的decoder功能,...
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台;社区覆盖了云计算、大数据、人工智能、...
  • 我们在学习python时候肯定会碰到关于进制转换,其实这是非常简单的,这个就像小学学习数学乘法口诀意义,只要记住转换口诀即可轻松应用,一起来看下具体的操作内容吧~一、python进制转换dec(十进制)—> bin(...
  • python实现进制转换(二、八、十六进制;十进制)(一)十进制整数转为二、八、十六进制1、format实现转换>>> format(2,"b") # (10进制的)2转二进制'10'>>> format(9,"o") # (10进制的)9转八进制'11'&...
  • python进制转换二进制十进制和十六进制)及注意事项感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!使用内置函数实现进制转换实现比较简单,主要用到以下函数:bin()、oct()、int()、hex...
  • # convert a decimal (denary, base 10) integer to a binary string (base 2)# tested with Python24 vegaseat 6/1/2005def Denary2Binary(n):'''convert denary integer n to binary string bStr'''bStr = ''...
  • 全局定义一定不要丢了全局定义base = [str(x) for x in range()] + [ chr(x) for x in range(ord('A'),ord('A')+)]二进制 to 十进制 : int(str,n=)def bin2dec(string_num):return str(int(string_num, ))十六进制 ...
  • 本文介绍了python十进制二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时上代码#-*- coding: utf-8from decimal import ...
  • 本文介绍了python十进制二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时上代码#-*- coding: utf-8from decimal import ...
  • Python:运行时警告:溢出遇到平方,加,乘,减问I'm beginning with Python so I might be asking a not so subtle question, but after quite a lot of research I couldn't resolve this error. I'm actually ...
  • Python程序将十进制转换二进制十进制转换二进制通过将数字连续除以2并以相反顺序打印其余部分,将十进制数转换为二进制。在下面的程序中,我们将学习使用递归函数将十进制数转换为二进制数,代码如下:def ...
  • 本文介绍了python十进制二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下: 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal ...
  • 本文介绍了python十进制二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时上代码#-*- coding: utf-8from decimal import ...
  • 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 ...
  • python十进制转换二进制,八进制

    千次阅读 2019-04-11 16:02:23
    十进制转换二进制 #!/usr/bin/python3 def mybin(a):#自定义函数去除系统自带的多余0b a=bin(a) a=a.replace('0b','') print(a) mybin(17) #结果 10001 十进制转换二进制 #!/usr/bin/python3 ...
  • Python3 进制转换(二进制 十进制 十六进制 ASCII字符串转换) Python3 进制转换 编写Convertor类,用于进制与ASCII字符之间互相转换,便于使用 ASCII码及进制之间转换关系 ASCII码介绍: ASCII 全称为 ( American ...
  • 下面我们开讲原理,举个十进制整数转换二进制整数的例子,假设十进制整数A化得的二进制数为edcba 的形式,那么用上面的方法按权展开, 得 A=a(2^0)+b(2^1)+c(2^2)+d(2^3)+e(2^4) (后面的和不正是化十进制的过程...
  • 1 #-*- coding: utf-82 from decimal importDecimal3 def bTod(n, pre=4):4 '''5 把一个带小数的二进制数n转换十进制6 小数点后面保留pre位小数7 '''8 string_number1 = str(n) #number1 表示二进制数,number2...
  • Python BinaryConversionBinary.py#coding:utf-8import reimport argparsedef bintostr(text):text = text.replace(' ','')text = re.findall(r'.{8}',text)s = map(lambda x:chr(int(x,2)),text) #批量二进制...
  • 在日常生活中我们频繁使用到数学的进制,如季度逢三进一,星期逢七进一;×××、小时使用12进制,每天使用24进制,每月使用30进制...我们知道,十进制转换二进制时,使用“除2取余,逆序排列”即可。二进制转换成...
  • python如何进行进制转换1、十进制二进制(bin)首先我们看看怎么把一个十进制转化成二进制,我们可以使用python的内置方法 bin输出python 中二进制以ob开头2、十进制转八进制(oct)我们再看看十进制转化为八进制...
  • 摘自... python实现进制转换:https://www.cnblogs.com/cookie1026/p/6059766.html 十进制二进制 编辑 1. 十进制整数转换为二进制整数 十进制整数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,963
精华内容 785
关键字:

python十进制转换二进制

python 订阅