标签:
1. 计算机中,只有0和1。处理数据之前,必须先把其放入到内存中进行保存。依据数据类型,确定数据保存的格式。
整数按补码形式,
实数按浮点数形式,
字符按ASCII码形式。
2. 每种类型的数据都有常量和变量之分。按类又分为:
基本类型:整型 实型 字符类型 枚举类型
构造类型:数组类型 结构类型 联合类型
指针类型
空类型(也称无值类型): void
3. 二进制与其他进制的转换
规则:从小数点开始,整数部分向左、小数部分向右。
八进制三位,16进制4位。
二进制的运算:+-*/%
4. 用计算机字长的二进制位来表示机器数。数符和数值。
带符号位的机器数对应的数值称为机器数的真值。0表示正,1表示负。
当计算机字长的所有二进制位都用来表示数值时,称为无符号数。
5. 原码,反码,补码
反码和补码又原码得到。
首先,注意,正数的反码和补码是跟原码相同的。
负数的反码:就是数符位不变,即1表示负,数值部分取反,即相反数。
负数的补码:就是数符位不变,即1表示负,数值部分为其反码加1。
整数X的原码是指:其数符位为0表示正,为1表示负。其数值部分是X的绝对值的二进制。
假定字长为8位:
【-1】原码= 1000,0001
【-1】反码=1111,1110
【-1】补码=1111,1111
数符位始终是不变的。
6. 定点数和浮点数
定点数:当约定小数点位置固定在机器数的最低位之后时,称为定点整数。
浮点数:也称实数,它的表示法与科学计数法相似。
-100.011=-10001.1×2^-010 = -0.100011×2^+011 = -0.0100011×2^+100,S为尾数,J为阶码。
在计算机中规定浮点数的尾数采用纯小数形式,上例中的0.100011, 0.010011就是。
如果尾数最高位为1,称为规格化数,上例中的0.100011×2^+011=0.100011*2^11就是规格化数
存储形式:阶符|阶码|数符|尾数
上例的存储形式位:0|11|1|1011
注意:阶码和尾数都可以采用补码存储。
7. ASCII
字符包括各种文字、数字、符号和控制符。在在计算机内部,它们也要用二进制表示。
字符的编码方法很多,使用最普遍的是ASCII(American Standard Code for Information Interchange)。
8. 常量和变量的占据内存多少位?
基本型(int)整形数在内存中占用字节的多少与编译器有关。
Turbo C中:一个int占据16bit的内存单元。
VC中:1个int占据32位的内存单元,按补码的方式存储。
9. 字符常量是一个整数。字符在内存中以ASCII码值的形式存储。
#include <stdio.h>
main(void)
{
char a=‘0‘;
int b=48;
printf("%d %c\n",a,b);
}
10. 字符串常量也叫字符串字面值,是用双引号括住的由0个或多个字符组成的字符序列。"I am a student" ""
注意:双引号不是字符串的一部分,它只用与限定字符串。
C语言规定:在每一个字符串的结尾系统自动加上一个字符串结束标志符‘\0‘,以便判断字符串是否结束。
China的存储形式:‘C‘|‘h‘|‘i‘|‘n‘|‘a‘|‘\0‘,所以其包含6个字符。
11. 符号常量是指用一个标识符代表的一个常量,C语言中用#define来定义一个符号常量。符号常量一般用大写字母来表示
#define PI 3.1415926
标签:
原文地址:http://www.cnblogs.com/htmlphp/p/4858859.html