精华内容
下载资源
问答
  • Python中,我们可以使用bin()或format()将整数转换为二进制字符串表示形式。print(bin(1)) # 0b1 print(bin(-1)) # -0b1 p...

    在Python中,我们可以使用bin()format()将整数转换为二进制字符串表示形式。

    print(bin(1)) # 0b1
      print(bin(-1)) # -0b1
      print(bin(10)) # 0b1010
      print(bin(-10)) # -0b1010
     
      print("{0:b}".format(10)) # 1010
      print("{0:#b}".format(10)) # 0b1010 , with 0b prefix
      print("{0:b}".format(10).zfill(8)) # 00001010 , pad zero, show 8 bits
      print(format(10, "b")) # 1010
      print(format(10, "#b")) # 0b1010, with 0b prefix
      print(format(10, "b").zfill(16)) # 0000000000001010, pad zero, show 16 bits
    
      # with hex, oct bin
      # int: 10; hex: a; oct: 12; bin: 1010
      result = "int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}".format(10)
      print(result)
    
      # with 0x, 0o, or 0b as prefix:
      # int: 10; hex: 0xa; oct: 0o12; bin: 0b1010
      result = "int: {0:d}; hex: {0:#x}; oct: {0:#o}; bin: {0:#b}".format(10)
      print(result)
    

    参考文献:

    1. Python bin文件

    2. Python格式文件

    3. Python格式规范迷你语言

    翻译自: https://mkyong.com/python/python-how-to-convert-int-to-a-binary-string/

    推荐阅读--

    每周一课 | Python 示例拆分字符串入到字典里面

    每日一课 | 如何将String转换为int

    每日一课 | Python time.sleep 精准延迟到秒

    每日一课 | Python 如何判断一个字符串是否包含另一个字符串?

    球分享

    球点赞

    球在看

    展开全文
  • 计算机运算会用到四种进制方法:二进制、八进制、十进制、十六进制。四者之间的转换python是非常简单的,因为python默认自带的函数已经帮我们实现了。具体示例如下:>>> hex(10)'0xa'>>> oct(8)'010'>>> oct(10)'...

    计算机运算会用到四种进制方法:二进制、八进制、十进制、十六进制。四者之间的转换在python是非常简单的,因为python默认自带的函数已经帮我们实现了。具体示例如下:

    >>> hex(10)

    '0xa'

    >>> oct(8)

    '010'

    >>> oct(10)

    '012'

    >>> bin(10)

    '0b1010'

    >>> int('0xa',16)

    10

    >>> int('010',8)

    8

    >>> int('0b1010',2)

    10

    >>> int('0xA',16)

    10

    除此之外你也可以参考下如下代码,还是有点意义的:

    #!/usr/bin/env python

    # coding=utf8

    # ===============================================================================

    # Copyright (C) 2018 www.361way.com site All rights reserved.

    # Description :bin oct dec hex convert (进制转换)

    # ===============================================================================

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

    展开全文
  • Python二进制字符串转换为十六进制如何在Python中将二进制字符串转换为相应的十六进制值?我有0000 0100 1000 1101,我想得到048D我正在使用Python 2.6。sylvain asked 2020-02-04T08:12:00Z12个解决方案59 ...

    Python从二进制字符串转换为十六进制

    如何在Python中将二进制字符串转换为相应的十六进制值?

    我有0000 0100 1000 1101,我想得到048D我正在使用Python 2.6。

    sylvain asked 2020-02-04T08:12:00Z

    12个解决方案

    59 votes

    hex(number) -> string

    Return the hexadecimal representation of an integer or long指定为2,然后hex:

    >>> int('010110', 2)

    22

    >>> hex(int('010110', 2))

    '0x16'

    >>>

    >>> hex(int('0000010010001101', 2))

    '0x48d'

    hex(number) -> string

    Return the hexadecimal representation of an integer or long的文档:

    hex(number) -> string

    Return the hexadecimal representation of an integer or long

    点       参数将被截断为零(不包含字符串)       表示浮点数!)转换字符串时,   采用       可选的基础。 转换基数时提供基数是错误的       非字符串。 如果基数为零,则根据       字符串内容。 如果参数超出整数范围,则a       将返回long对象。

    hex(number) -> string

    Return the hexadecimal representation of an integer or long的文档:

    hex(number) -> string

    Return the hexadecimal representation of an integer or long

    整数。

    Eli Bendersky answered 2020-02-04T08:12:35Z

    26 votes

    bstr = '0000 0100 1000 1101'.replace(' ', '')

    hstr = '%0*X' % ((len(bstr) + 3) // 4, int(bstr, 2))

    Ignacio Vazquez-Abrams answered 2020-02-04T08:12:51Z

    14 votes

    使用python的binascii模块

    import binascii

    binFile = open('somebinaryfile.exe','rb')

    binaryData = binFile.read(8)

    print binascii.hexlify(binaryData)

    user3394040 answered 2020-02-04T08:13:11Z

    6 votes

    在不忽略前导零的情况下将Binary转换为十六进制:

    您可以使用如下所示的format()内置函数:

    "{0:0>4X}".format(int("0000010010001101", 2))

    Gareth Williams answered 2020-02-04T08:13:36Z

    3 votes

    不使用混乱的串联和填充:

    '{:0{width}x}'.format(int(temp,2)), width=4)

    将给出保留了填充的十六进制表示

    Sam Palmer answered 2020-02-04T08:14:00Z

    1 votes

    在使用hexlify函数的python3上:

    import binascii

    def bin2hex(str1):

    bytes_str = bytes(str1, 'utf-8')

    return binascii.hexlify(bytes_str)

    a="abc123"

    c=bin2hex(a)

    c

    会给你回来的:

    b'616263313233'

    您可以像这样获得它的字符串:

    c.decode('utf-8')

    给出:

    '616263313233'

    babis21 answered 2020-02-04T08:14:33Z

    1 votes

    此概述对某人可能有用:python中的bin,dec,hex在python中的bin,dec,hex之间进行转换。

    我会做:

    dec_str = format(int('0000010010001101', 2),'x')

    dec_str.rjust(4,'0')

    结果:“ 048d”

    Tomas answered 2020-02-04T08:15:02Z

    0 votes

    format(int(bits, 2), '0' + str(len(bits) / 4) + 'x')

    Dmitry Sobolev answered 2020-02-04T08:15:18Z

    0 votes

    不管出于什么原因,我对其中的一些答案都有疑问,我已经为自己编写了一些辅助函数,因此,如果您遇到像我一样的问题,请尝试一下。

    def bin_string_to_bin_value(input):

    highest_order = len(input) - 1

    result = 0

    for bit in input:

    result = result + int(bit) * pow(2,highest_order)

    highest_order = highest_order - 1

    return bin(result)

    def hex_string_to_bin_string(input):

    lookup = {"0" : "0000", "1" : "0001", "2" : "0010", "3" : "0011", "4" : "0100", "5" : "0101", "6" : "0110", "7" : "0111", "8" : "1000", "9" : "1001", "A" : "1010", "B" : "1011", "C" : "1100", "D" : "1101", "E" : "1110", "F" : "1111"}

    result = ""

    for byte in input:

    result = result + lookup[byte]

    return result

    def hex_string_to_hex_value(input):

    bin_string = hex_string_to_bin_string(input)

    bin_value = bin_string_to_bin_value(bin_string)

    return hex(int(bin_value, 2))

    他们似乎运作良好。

    print hex_string_to_hex_value("FF")

    print hex_string_to_hex_value("01234567")

    print bin_string_to_bin_value("11010001101011")

    结果是:

    0xff

    0x1234567

    0b11010001101011

    onaclov2000 answered 2020-02-04T08:15:47Z

    -1 votes

    假设它们按4分组并用空格分隔。 这将保留前导0。

    b = '0000 0100 1000 1101'

    h = ''.join(hex(int(a, 2))[2:] for a in b.split())

    Tor Valamo answered 2020-02-04T08:16:07Z

    -3 votes

    >>> import string

    >>> s="0000 0100 1000 1101"

    >>> ''.join([ "%x"%string.atoi(bin,2) for bin in s.split() ] )

    '048d'

    >>>

    要么

    >>> s="0000 0100 1000 1101"

    >>> hex(string.atoi(s.replace(" ",""),2))

    '0x48d'

    ghostdog74 answered 2020-02-04T08:16:27Z

    -3 votes

    x = int(input("press 1 for dec to oct,bin,hex \n press 2 for bin to dec,hex,oct \n press 3 for oct to bin,hex,dec \n press 4 for hex to bin,dec,oct \n"))

    if x is 1:

    decimal =int(input('Enter the decimal number: '))

    print(bin(decimal),"in binary.")

    print(oct(decimal),"in octal.")

    print(hex(decimal),"in hexadecimal.")

    if x is 2:

    binary = input("Enter number in Binary Format: ");

    decimal = int(binary, 2);

    print(binary,"in Decimal =",decimal);

    print(binary,"in Hexadecimal =",hex(decimal));

    print(binary,"in octal =",oct(decimal));

    if x is 3:

    octal = input("Enter number in Octal Format: ");

    decimal = int(octal, 8);

    print(octal,"in Decimal =",decimal);

    print(octal,"in Hexadecimal =",hex(decimal));

    print(octal,"in Binary =",bin(decimal));

    if x is 4:

    hex = input("Enter number in hexa-decimal Format: ");

    decimal = int(hex, 16);

    print(hex,"in Decimal =",decimal);

    print(hex,"in octal =",oct(decimal));

    print(hex,"in Binary =",bin(decimal));

    YogVj answered 2020-02-04T08:16:43Z

    展开全文
  • /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,.....

    #!/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))

    展开全文
  • python十进制转二进制python中十进制转二进制使用 bin() 函数。bin() 返回一个整数 int 或者长整数 long int二进制表示。下面是使用示例:>>>bin(10)'0b1010'>>> bin(20)'0b10100'补充:十进制转8进制和16进制的...
  • python input函数进制转换 input()函数-控制输入的进制数 格式化符号 ... s=int(input(),2) #输入二进制并将其转换为十进制 通过格式化符号进行转化 这里用输入一个十六进制的数例子 n=int(input(),
  • 我正在尝试将每个1/0的二进制转换为列表,但是我得到默认的二进制值而不是列表.我有一个字符串,我将每个字符转换为二进制,它我提供了一个列表,其中包含每个字符的字符串.现在,我试图将每个字符串拆分值0/1的...
  • 作为一种更加pythonic的方式,您可以先将字符串转换为字节数组,然后使用以下bin函数map:>>> st = "hello world">>> map(bin,bytearray(st))['0b1101000', '0b1100101', '0b1101100', '0b1101100', '0b1101111', '0...
  • 语言元素.md里发现这么一句话:int():将一个数值或字符串转换成整数,可以指定进制。 于是我想试一下转化进制的功能。输入如下代码: int('4', base=2) ValueError: invalid literal for int() with base 2: '4...
  • 本文介绍了python十进制和二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下:我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时上代码#-*- coding: utf-8from decimal import ...
  • 背景:最近有人给我一大堆二进制,看的我眼花缭乱,最后得知这是汉字的编码,那肯定要转成汉字呀,当然不排除有标点、特殊符号、英文大小写字母等,但这些都比较简单,主要是汉字与二进制转换稍微麻烦一点。...
  • 本文介绍了python十进制和二进制转换方法(含浮点数),分享给大家,也给自己留个笔记,具体如下: 我终于写完了 , 十进制转二进制的小数部分卡了我将近一个小时 上代码 #-*- coding: utf-8 from decimal ...
  • blue&white十进制数转化二进制数(float)while True:number=input("请输入一个正数:(输入q退出程序)")if number in ['q','Q']:breakelif not float(number)>0:print("请输入一个正数(输入q退出程序):")else:...
  • Im doing a colledge assignment which is have us create a python program to convert binary to decimal without using the bin() function or list(). I'm plan to have each 1's and 0's stored in a function....
  • Python真是个方便的语言,工作中通过Java,C或C#要通过数行完成的功能,Python只需要简简单单的几行便可将问题引刃而解,下面列举了个10进制转化为二进制的的常用方式:(1)直接用bin函数>>> bin(6)'0b110'(2)对bin函数的...
  • Python中,我们可以使用bin()或format()将整数转换为二进制字符串表示形式。 print(bin(1)) # 0b1 print(bin(-1)) # -0b1 print(bin(10)) # 0b1010 print(bin(-1...
  • 使用内置函数实现进制转换...二进制转十进制使用函数:int()实例:123#结果是4int('100',2)注意:上述一定不要忘记加引号,因为二进制是一个字符串如果不加引号会出现如下错误:Traceback (most recent call last):...
  • 代码如下:import sysNumbers_In_Line = 16 #一行有几个数字'''* 将一个文件转换为二进制文件(binary)* python3 tran_to_binary.py input_file out_file* 20190713'''class TranStrToBinary():def tran_string_to_...
  • 题目:如何在python中实现整数的二进制循环移位?概述在python中,可以...一、实现思路1、利用字符串的format函数将int整数值转化为特定位数的二进制值2、利用字符的切片操作实现循环位移二、实现代码# left circul...
  • python 十进制转二进制

    万次阅读 多人点赞 2019-06-24 16:55:42
    Python 2 python 十进制转2进制有内置函数 bin 方法1: in:bin(1) output:'0b1' ... # x = 2 # 转换为二进制,所以这里取x=2 b = [] # 存储余数 while True: # 一直循环,商为0时利用break退出循环 ...
  • python十进制转二进制 python中十进制转二进制使用 bin() 函数。 bin() 返回一个整数 int 或者长整数 long int二进制表示。 下面是使用示例: >>>bin(10) '0b1010' >>> bin(20) '0b10100' 补充:十进制转8进制和...
  • # 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 = ''...
  • Python平台:Python 2.7(经测试,Python3.6.1可用,需要添加少许改动,详见文章末尾)二进制代码查看工具:WinHex假设我们有如下16进制代码,需要当成binary文件写入:output_code = """00400000,2409000200400004,...
  • 好的,首先在这里发帖,如果问题不可行,请原谅并忽略背景:我是计算机科学160。...提示是读取只包含1和0的整数,逐位处理二进制数并报告十进制等效值。现在,我从一个同学那里得到了一些提示,这至少...
  • I have the following scenario: x = 0b0111 I would like to convert this value to: y = [0, 1, 1, 1] When I convert x = 0b1001, I can get y = [1, 0, 0, 1], but when I ... [int(d) for d in str(bin(x))[2:]]
  • python八进制转二进制Python is known for being powerful and easy to use when it comes to math. Both its native capabilities and resourceful libraries like NumPy, Pandas, or Scikit-learn, provide ...
  • 这篇文章主要大家详细介绍了python进制转换的简单示例(二进制、十进制、十六进制),具有一定的参考价值,可以用来参考一下。对python进制转换二进制、十进制和十六进制)及注意事项感兴趣的小伙伴,下面一起...
  • I have the following scenario: x = 0b0111 I would like to convert this value to: y = [0, 1, 1, 1] When I convert x = 0b1001, I can get y = [1, 0, 0, 1], but when I ... [int(d) for d in str(bin(x))[2:]]

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 62,343
精华内容 24,937
关键字:

pythonint转化为二进制

python 订阅