数据类型
整型:char short int long longlong
浮点型:float double …
构造类型:数组 结构体 枚举 联合体…
指针类型:char* int* …
整型在内存中的存储
我们都知道,数据在内存中以二进制的形式存储。
对于整数而言,二进制的表示方式有三种:原码,反码,补码(以补码形式存于内存)
正整数:原反补相同
负整数:直接写出是原码,原码符号位不变其他取反为反码,反码加1为补码
举个例子:
十进制:-15
二进制原码:1000000000000000000000000001111
反码: 11111111111111111111111111110000
补码: 1111 1111 1111 1111 1111 1111 1111 0001
补码十六进制:ff ff ff f1
验证:
整数在内存中既然真的以补码形式存储,那为什么这样做呢?
我们通常用整数进行计算,而我们知道计算机的CPU负责这个任务,但是CPU上只有加法器,倘若我们想计算
-1+1
原码:10000000000000000000000000000001
+000000000000