-2
我想用一個定義從int
獲得4個字節。我應該如何編寫這個定義?如何使用define從int生成一個字節數組?
int k = 4;
unsigned char byteK[4];
byteK[0] = (unsigned char)k & 0xFF;
byteK[1] = (unsigned char)((k >> 8) & 0xFF);
byteK[2] = (unsigned char)((k >> 16) & 0xFF);
byteK[3] = (unsigned char)((k >> 24) & 0xFF);
請記住,您需要編寫兩個(或更多)版本,每個版本針對目標平臺的每個字節序。 –
@TobySpeight,不是我,而是@KenChu。兩個用於每個字節序,一個用於sizeof(int)== 2',一個用於sizeof(int)== 4'。但是如果他需要一些本地任務而不是產品,或者不需要移植到其他平臺上,那麼他只能使用一個工作版本。 –
非常感謝Alex Lop。這就是我需要的。但如果可能是 #define INT32_TO_4BYTE_ARRAY(int_var){},然後返回一個無符號字符數組[4],如無符號字符*溫度= INT32_TO_4BYTE_ARRAY(int_var),然後我可以從溫度 –