【问题标题】:Taking a binary input from the user in python for bitwise operations在python中从用户那里获取二进制输入进行按位运算
【发布时间】:2015-04-10 18:27:34
【问题描述】:
N,M=raw_input().split(' ')
N=int(N,2)
M=int(M,2)
print N|M

代码将初始输入转换为二进制,然后按位应用或。然而,我需要的是一种以二进制本身接收初始输入的方法。

如果输入是

111 101

给定的输出是7。我想要的输出是111|101,即111

【问题讨论】:

    标签: python binary user-input bitwise-operators bitwise-or


    【解决方案1】:

    只需将输出格式化回二进制:

    print format(N|M, 'b')
    

    这使用format() function 再次生成二进制字符串; 'b' format 产生 base-2 二进制输出:

    >>> format(7, 'b')
    '111'
    

    如果您需要保留原始输入与输入完全相同,则将int() 调用的输出分配给新变量:

    binary1, binary2 = raw_input().split(' ')
    N = int(binary1, 2)
    M = int(binary2, 2)
    print '{}|{} makes {:b}'.format(binary1, binary2, N|M)
    

    这里我使用str.format() method 来生成一个输出字符串;可以在简单的模板框架内使用相同的格式化指令; N|M 的输出被插入最后一个 {} 占位符,它将值格式化为二进制表示。

    【讨论】:

      猜你喜欢
      • 2014-02-25
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 2019-04-11
      相关资源
      最近更新 更多