返回首页
EN
H7 / SECURITY RESEARCH NOTES

2022.2.16

  • 单位换算
1 Byte = 8 bit
1 KB = 1024 Byte = 2^10 Byte
1 MB = 1024 KB = 2^20 Byte
1 GB = 1024 MB = 2^30 Byte
1 TB = 1024 GB = 2^40 Byte
  • "字节为最小的可操作单元"
  • C语言基本数据类型:
- 字符型 char
- 短整型 short
- 整型 int
- 长整型 long
- 单精度浮点型 float
- 双精度浮点型 double
- 无类型 void
  • c语言中,每一种数据类型所占的字节数是固定的,知道了数据类型,就知道了数据的长度。
  • 32位环境中,各种数据类型长度一般如下:
说明字符型短整型整型长整型单精度浮点型双精度浮点型
数据类型charshortintlongfloatdouble
长度124448
  • 整数在内存中存储是以补码的形式存储的,当读取时,会将补码转换为原码,原码才是真正的值。
1.原码:即将整数转换为二进制数,转换后的二进制数即为原码。
2.反码:正数的反码和原码相同,负数的反码为最高位作为符号位不变,数值位取反(即0变1,1变0)。
3.补码:正数的补码和原码相同,负数的补码为反码+1。

负数的原码、反码、补码转换方式如下:
原码 -> 反码:最高位符号位不变,数值位取反
反码 -> 原码:最高位符号位不变,数值位取反
反码 -> 补码:反码+1
补码 -> 反码:补码-1
  • 对于整数数据类型来说,如果要表示的数据类型过大,会产生溢出,溢出的位数会被去掉,导致实际表示的数字出现差错。

书签:

http://c.biancheng.net/view/vip_1764.html