如何区分大端机和小端机

it2024-10-03  40

有符号数的表示:原码,反码,补码 原码:直接将二进制按照正负数的形式翻译成二进制就可以 反码:将原码的符号位不变,其它位依次按位取反 补码:反码+1 正数的原,反,补码都相同 对于整形:数据存放内存中其实存放的是补码 大小端:大端机:数据的低位存在内存的高地址 小端机:数据的低位存在内存的低地址

区分大端机小端机

//方法一 int check_sys() { int i = 1; return (*(char*)&i); } int main() { int ret = check_sys(); if(ret == 1) printf("小端机\n"); else printf("大端机\n"); return 0; } //方法二 int check_sys() { union { int i; char c; }un; un.i = 1; return un.c; }
最新回复(0)