【发布时间】:2015-07-30 18:05:17
【问题描述】:
从字节缓冲区中读取带符号的多字节字的最佳方法是什么?
是否有一种我不知道的标准方法来做到这一点,或者我是否在正确的轨道上阅读 4 个字符并将它们提高到 16 的相应幂并将它们加在一起?
int ReadBuffer(int BuffPosition, int SequenceLength){
int val = 0;
int limit = BuffPosition + SequenceLength;
int place = 0;
for( BuffPosition; BuffPosition < limit; BuffPosition++ ){
int current = Buff[BuffPosition];
current *= pow(16, (2*place));
val += current;
place++;
}
return val;}
【问题讨论】:
-
你关心字节序吗?
-
没有“32 位十六进制数据”之类的东西。十六进制是二进制数据的字符串表示。文件中的内容几乎可以肯定是二进制的。
-
@EJP 可能 OP 只是想将 32 位字转储到文件中并稍后读取它们。我同意术语不正确。
-
你是对的,我为我缺乏词汇而道歉。我想要做的是将 32 位整数写入文件,然后将它们读入缓冲区。然后从缓冲区中读取和操作它们。