溢出
计算机表示法使用有限数量的位来对数字编码。当结果很大,当前位数无法表示,就会出现溢出,溢出会导致不正确的结果。
整数运算满足计算性质,如交换律,结合律等。而浮点运算不同。由于表示精度有限,所以浮点运算不可结合。浮点是对数据不精确的表示。
image.png
内存中可寻址的最小单位是byte,每个byte有自己的地址,通过该地址即可访问。
C语言一个指针的值总是某个内存块的第一个字节的虚拟地址。C编译器将指针和类型关联,这样就可以生成不同机器代码来访问指针指向的值(多少位?)
image.png
image.png
字数据大小:32bit,64bit系统指该计算机的字长。字长决定虚拟地址空间的最大大小,指的是指针能寻址的最大范围。
image.png
32位程序可运行在32位和64位系统,64位程序只能运行在64位系统上。区别在于程序是如何被编译的。
很多数据类型占有的字节数是随着编译类型变化的,32位和64位在编译的时候会有不同的字节。而int32_t和int64_t分别表示4个字节和8个字节,不随编译方式变化。
如果32位编译方式,char *占4个字节,如果64位编译,char *占8个字节。
image.png
网友评论