相关疑难解决方法(0)

在C++程序中以编程方式检测字节顺序

是否有一种编程方式来检测您是否在大端或小端架构上?我需要能够编写将在Intel或PPC系统上执行的代码并使用完全相同的代码(即没有条件编译).

c++ algorithm endianness

201
推荐指数
14
解决办法
10万
查看次数

右移和有符号整数

在我的编译器上,以下伪代码(用二进制替换的值):

sint32 word = (10000000 00000000 00000000 00000000);
word >>= 16;
Run Code Online (Sandbox Code Playgroud)

生成一个如下所示word的位域:

(11111111 11111111 10000000 00000000)
Run Code Online (Sandbox Code Playgroud)

我的问题是,我可以依赖所有平台和C++编译器的这种行为吗?

c++ bit-shift platform-specific

17
推荐指数
4
解决办法
2万
查看次数

字节序是在编译时决定的吗?

我想要变得懒惰并编写一些代码,如果目标机器的字节顺序与我自己的字节序不同,那么它将会破坏.但我想知道什么时候它会中断,所以如果有必要我可以解决它.

浮点数和整数的字节顺序是编译程序的属性,这样我可以在编译时用某种断言检查它吗?或者它是我必须在运行时声明的东西?

c c++ endianness

4
推荐指数
1
解决办法
559
查看次数

标签 统计

c++ ×3

endianness ×2

algorithm ×1

bit-shift ×1

c ×1

platform-specific ×1