首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在分配二进制和十六进制时,"0b“和"0x”代表什么?

在分配二进制和十六进制时,"0b“和"0x”代表什么?
EN

Stack Overflow用户
提问于 2019-08-22 16:34:27
回答 2查看 18.9K关注 0票数 10

当直接赋值二进制值和十六进制值时,可以分别按如下所示进行分配:

代码语言:javascript
运行
复制
uint8_t val1 = 0b10101;
uint8_t val2 = 0xFF;

0b0x是什么意思?特别是前面的0。是否可以使用其他值来代替0

另一个有趣的问题是,还有什么角色可以取代bx?有没有一个八进制的例子?

EN

回答 2

Stack Overflow用户

发布于 2019-08-22 16:40:06

0b (或0B)表示二进制文字。C++从C++14开始就允许它。(它还不是C标准的一部分,尽管有些编译器允许它作为扩展。) 0x (或0X)表示十六进制。

0可用于表示八进制文字。(有趣的是,0本身是一个八进制文字)。此外,您可以使用转义序列\后跟要读取的八进制数字:这仅适用于使用""char定义const char[]文字或使用''定义多字符文字的情况。在处理字符串时,您经常看到用来表示NUL的'\0'表示法就利用了这一点。

如果没有用户定义的文字后缀,则任何以非零开头的数字文字都是以十进制表示的。

在C++世界中有传言使用0o作为八进制文字,甚至可能放弃对领先的零版本的支持。尽管这将是一个可怕的突破性变化。

票数 3
EN

Stack Overflow用户

发布于 2019-08-22 16:45:52

0b和0x是什么意思?

它们的意思是数字文字分别以二进制和十六进制为基。

你能用其他值代替0吗?

以非零数字开头的数字文字将是十进制文字。

也是另一个奇怪的问题,还有什么字符可以代替"b“和"x"?

除了b和x之外,任何八进制数都可以放在那里,在这种情况下,它是八进制数的最高有效位。

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

https://stackoverflow.com/questions/57605226

复制
相关文章

相似问题

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