🌺博客汇总:🌃Summary And Schedule🌠

🌸考研相关内容汇总:考研Schedule&&Summary

🌼408王道C督学课程目录:《王道C语言督学班目录》

-

本大节课分为20.3小节到20.7小节,包含补码解析,整型不同类型、溢出解析,浮点数IEEE754 标准解析,真题实战

  • 20.3 小节是补码讲解及内存实战演示

  • 20.4 小节是整型不同类型解析-溢出解析

  • 20.5 小节是浮点数 IEEE754标准解析及实战计算演示

  • 20.6 小节是浮点数精度丢失实战演示

  • 20.7小节是选择题真题讲解

1、补码(Complement)讲解及内存实战演示

自己debug看内存,比如,计算2-5,实际是2+(-5)

x86架构是小端存储,小段存储是低字节在前,即低字节在低地址,高字节在后,即高字节在高位

大端和小端相反

1
2
3
4
5
6
7
8
9
10
 #include <stdio.h>

int main() {
int i,j,k;
i=-5; //实际存储是0xfffffffb
j=2;
k=j+i;
printf("k=%d\n",k);
return 0;
}

2、整型不同类型解析-溢出解析

(1):基本整型 int型:编译系统分配给int型数据2个字节或4个字节,在存储单元方式是用整数的码补方式存放。若字节数为2,则取值范围 -3276832767;若字节数为4,则取值范围 -21474836482147483647

(2):短整型 short int:存放字节数为2,取值范围 -32768~32767

(3):长整型 long int:存放字节数为4 取值范围 -2^31~ 2 ^31-1

(4):双长整型 long long int:一般分配8个字节 取值范围-2^63~2 ^63-1

tips:介于无符号型的概念,其实就是极性只有正极,然后把负极的值取正加到原本正极范围上。举例子,短整型取值范围: -32768~ 32767,无符号短整型取值范围为:0~65535

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

//整型不同类型的演示,以及溢出演示
int main() {
int i = 10;
short a = 32767;
short b = 0;
long c;//32位的程序是4个字节,64位的是8个字节
b = a + 1;//发生了溢出,解决溢出的办法是用更大的空间来存,比如i=a+1
printf("%d\n", b);//b并不是32767,而是-32768
printf("------------\n");
unsigned int m = 3;
unsigned short n = 0x8056;//无符号类型,最高位不认为是符号位
unsigned long k = 5;
b = 0x8056;
printf("b=%d\n", b);//b是有符号类型,所以输出是负值,-32682
printf("n=%u\n", n);//无符号类型要用%u,用%d是不规范的,32854
return 0;
}

3、浮点数 IEEE754标准解析及实战计算演示

4、浮点数精度丢失实战演示

5、选择题真题讲解