【C语言】int类型数据小端存储转大端存储

(一)实现代码:

思路:32位系统,int 大小4字节,根据大端存储的规则进行字节数据交换,最终返回原数据的首地址即可

int* SmallToBig(int* value)
{
    
    
	char tmp = '\0';
	char* ptr = value;
	
	tmp = *ptr;
	*ptr = *(ptr + 3);
	*(ptr + 3) = tmp;
	tmp = *(ptr + 1);
	*(ptr + 1) = *(ptr + 2);
	*(ptr + 2) = tmp;
	
	
	return value;
}

int main()
{
    
    
	int a = 0x75BCD15;
	int* p = SmallToBig(&a);	
	printf("%x\n", *p);
	return 0;
}

(二)结果

预期结果:15CD5B07
在这里插入图片描述

Guess you like

Origin blog.csdn.net/xiaoxiaoguailou/article/details/121314746