【问题标题】:Why would one use binary integer literals instead of integers or floats in python?为什么要在 python 中使用二进制整数文字而不是整数或浮点数?
【发布时间】:2016-11-16 21:23:41
【问题描述】:

难道我们不应该让代码尽可能简单易懂吗? python中二进制相对于浮点数和整数的优势是什么,是否可以使用二进制创建浮点数。还有,什么时候用呢?

【问题讨论】:

  • ...什么?你能举例说明你的意思吗?你的意思是“二进制integer literals,比如0b1010
  • 为什么要骑自行车而不是汽车?
  • 位掩码及其操作在二进制表示法中比在整数或浮点表示法中更清晰。

标签: python binary


【解决方案1】:

假设你的意思是:

为什么 Python 有二进制 integer literals

例如允许0b101010,那么答案是有时“简单易懂”的编写代码的方法

例如,我上面使用的数字可以是位掩码,表示第二个和第四个选项的组合。哪个更清楚:

a = 0b0001
b = 0b0010
c = 0b0100
d = 0b1000

x = 0b1010

或:

a = 1
b = 2
c = 4
d = 8

x = 10

(实际上,您只需使用 x = a | c 和例如 re 实际上使用十进制文字作为标志,但我需要一个示例并注意整数的按位运算在二进制中也更容易理解符号。)

出于另一个原因,请参阅 this comment,有时二进制是您正在使用的域语言的一部分:

因为这样代码将更具可读性。我的实现是 基于一些使用二进制数的规范。 ——米莎 Moroshko 2010 年 5 月 11 日 0:36

不,Python 中没有二进制 floating point literal

【讨论】:

    猜你喜欢
    • 2014-09-27
    • 1970-01-01
    • 2022-11-29
    • 2021-07-30
    • 1970-01-01
    • 2013-07-27
    • 2022-06-29
    • 2019-10-17
    • 2011-05-18
    相关资源
    最近更新 更多