1.比特位和字节
CPU 能读懂的最小单位(只能存放 0 和 1)—— 比特位,bit,b
内存机构的最小寻址单位 —— 字节,Byte,B
关系:1Byte == 8bit
因此,一个字节可以表示最大的数是:11111111(二进制的255即2的8次方-1)
- 二进制、十进制和十六进制
3. 符号位
存放 signed 类型的存储单元中,左边第一位表示符号位。如果该位为 0,表示该整数是一个正数;如果该位为 1,表示该整数是一个负数。
一个 32 位的整型变量,除去左边第一位符号位,剩下表示值的只有 31 个比特位。
- 补码
计算机是用补码的形式来存放整数的值。
正数的补码是该数的二进制形式。
负数的补码需要通过以下几步获得:
先取得该数的绝对值的二进制形式
再将第1步的值按位取反
最后将第2步的值加1
5. 二进制表示最大值和最小值
6. 基本数据类型的取值范围
7.sizeof用于获得数据类型或表达式的长度
注意sizeof()是一个运算符,不是一个函数
sizeof后面可以是对象sizeof (9.9)
也可以是变量名int a ;sizeof(a)
也可以是类型名sizeof(char)
#include<stdio.h>
int main(void)
{
int i = 2;
float j = 3.0;
char k = 'g';
double l = 3.0;
printf("int 类型所占字节: %d\n",sizeof(int));
printf("变量 i 所占字节: %d\n",sizeof(i));
printf("float 类型所占字节: %d\n",sizeof(float));
printf("变量 j 所占字节: %d\n",sizeof(j));
printf("char 类型所占字节: %d\n",sizeof(char));
printf("变量 k 所占字节: %d\n",sizeof(k));
printf("double类型所占字节: %d\n",sizeof(double));
printf("变量l所占字节: %d\n", sizeof(l));
system("pause");
return 0;
}