首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么大多数语言不允许使用二进制数?

为什么大多数语言不允许使用二进制数?
EN

Stack Overflow用户
提问于 2009-01-27 15:04:25
回答 20查看 2.5K关注 0票数 17

为什么大多数计算机编程语言不允许像十进制或十六进制那样使用二进制数?

  • 在VB.NET中你可以写一个像&H4
  • 这样的十六进制数在C中你可以写一个像0x04

这样的十六进制数

为什么不允许二进制数?

  • &B010101
  • 0y1010

加分!...哪些语言允许二进制数?

编辑

哇!-所以大多数人认为这是因为简洁和糟糕的旧"waves“认为这是由于二进制表示的技术方面。

EN

回答 20

Stack Overflow用户

发布于 2009-01-27 15:08:12

因为十六进制(很少是八进制)的文字更紧凑,而且使用它们的人通常可以比解密二进制数更快地在十六进制和二进制之间进行转换。

Python 2.6+允许使用二进制文字,Ruby和Java 7也是如此,您可以使用下划线使字节边界变得明显。例如,十六进制值0x1b2a现在可以写为0b00011011_00101010

票数 33
EN

Stack Overflow用户

发布于 2009-01-27 15:08:39

在支持user defined literals二进制数的C++0x中,我不确定它是否会成为标准的一部分,但在最坏的情况下,您可以自己启用它

代码语言:javascript
复制
int operator "" _B(int i);

assert( 1010_B == 10);
票数 10
EN

Stack Overflow用户

发布于 2009-01-27 19:40:00

为了使位表示有意义,您需要知道如何解释它。您需要指定使用的二进制数的类型(有符号/无符号、二进制-互补、一-互补、有符号幅度)。

我使用过的唯一能正确支持二进制数的语言是硬件描述语言(Verilog、VHDL等)。对于如何处理以二进制形式输入的数字,它们都有严格的(并且常常令人困惑的)定义。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/483744

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档