【发布时间】:2013-04-07 02:32:33
【问题描述】:
更新: 我可以轻松地从字节到整数,但我目前的做法似乎不太好。
这是我当前的代码:
static unsigned char* Int32ToBytes(signed int n)
{
unsigned char bytes[4];
for(int i = 0;i<4;i++)
bytes[3-i] = (n & (255 << (i*8))) >> (i*8);
return bytes;
}
我正在使用它来写入字节:
fwrite(Int32ToBytes(-1), 1 , 4 , file );
当我希望它输出FF FF FF FF(有符号整数)时,它正在输出:FB 9C 8B 28。
有什么想法吗?感谢您的帮助:)
【问题讨论】:
-
不应该是字节[3-i] = n & (255
-
idk 这就是为什么我在这里问 xD 这样做时我得到 0C 1C C7 46
-
我错过了一些东西,试试这个 bytes[3-i] = (n & (255 > (i*8)。顺便说一句,您使用的是什么语言?
-
C/C++ 是我的语言。不,仍然没有运气:(
-
我也认为你使用的代码只是 n & 255 大声笑。
标签: int