只是想确保我做对了。在 SO 我遇到了一个问题的答案:如何在 int 中存储字符,如下所示:
unsigned int final = 0;
final |= ( data[0] << 24 );
final |= ( data[1] << 16 );
final |= ( data[2] << 8 );
final |= ( data[3] );
但据我了解,这是错误的,不是吗?为什么:说data
以小端方式存储整数(例如,data[0]=LSB_ofSomeInt)
。那么如果执行上述代码的机器是小端,final
则将保持正确的值,否则如果运行上述代码的机器是大端,它将保持错误的值,不是它?
只是想确保我做对了,我现在不会在这个方向上问更多问题。