c++ int数组存储long long元素

发布时间 2023-10-23 18:20:23作者: 夕西行

高往低存,可能造成数据截断。如long long 64位,int 32位,高32位被丢弃。

可以将int数组每两个元素分别存储低32位和高32位

    int a[4];
    //隐式转换
    *a = 2;                        //目标格式是int,2 默认值 默认值 默认值
    *(long long*)a=2;            //目标格式是longlong,2 0 默认值 默认值
    *(long long*)(a + 2) = 3;    //2 0 3 0