倾心之遇:探索“粉嫩虎白女馒头一线天”的极致魅惑

核心内容摘要

爱的延续:我们如何迎接生命的奇迹
芒果TV未满十八岁不能看广告吗?——揭秘“未成年人保护”的数字时代真相

葫芦娃不卖药,却能“卖”出千万?揭秘背后的财富密码!

整数在内存中的存储我们知道整数的2进制表⽰⽅法有三种即原码、反码和补码有符号的整数三种表⽰⽅法均有符号位和数值位两部分符号位都是⽤0表⽰“正”⽤1表 ⽰“负”最⾼位的⼀位是被当做符号位剩余的都是数值位。

而正整数的原、反、补码都相同。

负整数的三种表⽰⽅法各不相同。

原码直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。

反码将原码的符号位不变其他位依次按位取反就可以得到反码。

补码反码1就得到补码。

对于整形来说数据存放内存中其实存放的是⼆进制的补码其原因在于使用补码可以将符号位与数值位统一处理同时加减法也可以统一处理CPU只有加法器此外补码与原码相互转换其运算过程也是相同的这样就不需要额外的硬件电路。

大小端字节序和字节序判断当我们了解了整数在内存中的存储后我们观察一个细节int main() { int a 0x11223344; //在内存中观察到是以44 33 22 11 的形式存储的即低位字节内容存储到低地址高位字节内容存储到高地址 // 是为什么呢 //即涉及到存储顺序 return 0; }其实超过⼀个字节的数据在内存中存储的时候就有存储顺序的问题按照不同的存储顺序我们分 为⼤端字节序存储和⼩端字节序存储下⾯是具体的概念⼤端存储模式 是指数据的低位字节内容保存在内存的⾼地址处⽽数据的⾼位字节内容保存在内存的低地址处。

⼩端存储模式 是指数据的低位字节内容保存在内存的低地址处⽽数据的⾼位字节内容保存在内存的⾼地址处。

上述概念需要记住⽅便分辨⼤⼩端。

1设计一个程序来判断当前机器的字节序int check_sys()//判断字节序 { //if (*(char*)n

// return 1; //else //{ // return 0; //}//可读性高 int i 1; //分析如果是小端字节序那么1在内存中应该是 01 00 00 00 //如果是大端字节序那么在内存中应该是 00 00 00 01 //那么我们就可以取内存中第一个字节的地址解引用通过判断得到的数是0或者1来判断当前的字节序 return (*(char*)i);//优化版本可读性低 } int main() { int ret check_sys(); if (ret

printf(小端字节序\n); else printf(大端字节序\n); return 0; }

2练习考察数据在内存中的存储整型提升的运用练习

int main() { char a -1; signed char b -1; unsigned char c -1; printf(a %d, b %d, c %d, a, b, c);// -1 -1 255 return 0; }题解首先-1的原码 10000000000000000000000000000001反码 11111111111111111111111111111110补码 11111111111111111111111111111111当-1赋给变量a时会发生截断得到 11111111 --即在内存中存储的形式同理bc也是如此我们可以发现当数据类型相同时这里指都是char类型时不论是有符号数还是无符号数得到的都是 11111111而%d是以十进制的有符号整数形式打印的所以a,b,c都要整型提升最关键的是整形提升时就需用到是否为有符号数或无符号数由于a和b都是有符号字符所以整型提升是以符号位补充高位的--即 11111111111111111111111111111111 ----转为原码为10000000000000000000000000000001 --即-1而c是无符号数所以整数提升是高位补0即000000000000000000000000011111111而打印是是把他当作有符号数打印 即 255。

练习

int main() { char a -128; printf(%u\n, a);//以十进制数的无符号形式打印 return 0; }题解-128的原码10000000000000000000000010000000反码11111111111111111111111101111111补码11111111111111111111111110000000存入a时发生截断在内存中以 10000000形式存储打印时由于a是有符号数故整型提升时高位补充符号位即111111111111111111111111000000由于以十进制数的无符号形式打印故111111111111111111111111000000会被当成无符号数故全是数值位--结果为 4294967168

糖心v1.0.3破解版下载安装-糖心v1.0.3破解版下载安装应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123