位移操作是否总是考虑了大小端架构?

4
假设我正在将代码从C++移植到C#,并需要在C#中模拟相同的位移技术:
每当我执行位移操作时,是否必须考虑体系结构的字节序?
2个回答

3

不需要考虑。在C++和C#中,您可以完全将位移视为存储的数字,而忽略体系结构的字节顺序。


3

不,位移运算是一种纯粹的代数运算。它与乘以2一样不依赖于平台。

而平台相关的是将变量解释为字符数组的结果。


如果我逐个读取字节,或者增加一个PTR,是否会得到相同的结果,或者PTR可以“看到”字节序? - makerofthings7
@makerofthings7:什么是“PTR”?你所说的“相同结果”是什么意思?将一个对象重新解释为字节数组,可以显示出该对象的二进制表示,包括字节顺序… - Kerrek SB
我指的是在C#的不安全模式下的内存指针。如果我不确定是否有一个64位的字,并将指针增加1,我会看到什么。 - makerofthings7

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接