【发布时间】:2015-02-17 12:16:00
【问题描述】:
我尝试过四处搜索,但找不到太多关于二进制文字和字节序的信息。二进制字面量是 little-endian、big-endian 还是其他(例如匹配目标平台)?
例如,0b0111 的十进制值是多少?是7吗?特定平台?还有什么? 编辑:我选择了一个错误的值 7,因为它在一个字节内表示。尽管有这个事实,这个问题已经得到了充分的回答。
一些背景:基本上我试图找出最低有效位的值是什么,并且用二进制文字掩盖它似乎是一个好方法......但前提是有一些关于字节序的保证。
【问题讨论】:
-
二进制字面量的工作方式与十进制字面量完全相同,只是它们是用二进制而不是十进制编写的。它们没有字节序。
-
我真的很好奇:什么是反对票和接近票?我活跃于 SO,但不是 C++ 社区。这个问题有什么不好?它似乎不是重复的,这是一个直接的技术问题。请给我一些进一步的指导吗?
-
@LeviMorrison 你要的是不存在的东西。 c++ 或 c++11 没有字节序的概念,它是一种机器架构属性。
-
这个问题没有什么特别的问题。似乎更多的是混淆了字节顺序的含义(或者可能是数字文字),但我不明白这是一个问题。
-
@Cubic:十进制文字当然有字节序。这就是为什么 7x3 是 21 而不是 12 的原因。任何有序的数字序列,无论基数如何,都具有字节顺序。由于顺序可以升序或降序,自然有大端和小端。 (“中端”是那些奇怪的
3412无序序列)
标签: c++ endianness c++14