32位的Int转成长度为4的8位Char数组

int num = 9999;

char c[4] = {0};

方法一:使用memcpy函数,需要注意大小端问题

memcpy(c, (char*)&num, 4)

结果:c[0] = 15, c[1] = 39, c[2] = 0, c[3] = 0

 

方法二:位操作

c[3] = num & 0xFF;

num = num >> 8;

c[2] = num & 0xFF;

num = num >> 8;

c[1] = num & 0xFF;

num = num >> 8;

c[0] == num & oxFF;

结果: 

c[0] = 0, c[1] = 0, c[2] = 39, c[3] = 15

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章