目录
1. 比特位和字节
CPU 能读懂的最小单位(只能存放 0 和 1)—— 比特位,bit,b
内存机构的最小寻址单位 —— 字节,Byte,B
关系:1Byte == 8bit
因此,一个字节可以表示最大的数是:11111111
2. 二进制、十进制和十六进制
3. 符号位
存放 signed 类型的存储单元中,左边第一位表示符号位。如果该位为 0,表示该整数是一个正数;如果该位为 1,表示该整数是一个负数。
一个 32 位的整型变量,除去左边第一位符号位,剩下表示值的只有 31 个比特位。
4. 补码(作用:就是为了解决二进制的加减乘除)
计算机是用补码的形式来存放整数的值。
正数的补码是该数的二进制形式。
负数的补码需要通过以下几步获得:
-
先取得该数的绝对值的二进制形式
-
再将第1步的值按位取反(左边第一位不变)
-
最后将第2步的值加1
5. 二进制表示最大值和最小值
6. 基本数据类型的取值范围
7.课后习题(编程题)
第一题
填充下边代码,使得打印结果为:-1 和 255。
代码
int main()
{
signed char i;
unsigned char j;
i = 255;
j = 255;
printf("signed char %d\n",i);
printf("unsined char %u\n",j);
return 0;
}
结果
第二题
- 要求用户输入一个十进制整数(按下回车完成输入)
- 计算出该整数值的五次方
- 打印计算结果
- 已知结果如下:
代码
#include <stdio.h>
#include <math.h>
int main()
{
int i;
double result;
printf("请输入一个整数:");
scanf("%d",&i);
result = pow(i,5);
printf("%d的五次方是:%.2f\n",i,result);
return 0;
}