Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 反转从二进制文件读取的指针_C_Swap_Endianness - Fatal编程技术网

C 反转从二进制文件读取的指针

C 反转从二进制文件读取的指针,c,swap,endianness,C,Swap,Endianness,我试图反转从二进制编码文件读取的一些指针 当我尝试反转以big-endian格式存储的指针0xfffe0024540时,我得到 0xFFFFFF0024540 指针以以下格式存储在文件中: 0000 ff0f 02e0 4045负有符号整数右移的行为取决于实现, 就我记忆所及。您应该将long替换为unsigned long或uint64\u t右侧。我切换了语言,但符号扩展似乎确实是根本问题。因此,我尝试用uint64\t替换long,但仍然返回相同的结果。@gary:你能为你的问题添加一个自

我试图反转从二进制编码文件读取的一些指针

当我尝试反转以big-endian格式存储的指针0xfffe0024540时,我得到 0xFFFFFF0024540

指针以以下格式存储在文件中:
0000 ff0f 02e0 4045

负有符号整数右移的行为取决于实现,
就我记忆所及。您应该将
long
替换为
unsigned long
uint64\u t

右侧。我切换了语言,但符号扩展似乎确实是根本问题。因此,我尝试用uint64\t替换long,但仍然返回相同的结果。@gary:你能为你的问题添加一个自包含的示例来演示这个问题吗?因为
0xFFFFFF0024540
只是
0xfffe0024540
的符号扩展,没有任何交换的字节。所以肯定还有另一个问题。。。(顺便说一句,我在Mac电脑上测试了代码,它运行正常。你在什么平台上?)我在linux(OpenSUSE)上运行它@gary:如果没有一个例子,包括printf显示的问题,那么很难帮助。(但现在我住的地方已经很晚了,所以我可能在明天之前不会回复。)