2.1数据在计算机中如何存储
- 程序的作用是对数据进行操作。计算机的工作是基于二进制原理,计算机的内部信息也是由二进制来表示。二进制的特点是逢二进一。
- 计算机的存储器由半导体集成电路构成,它包括几亿个小的脉冲电路单元,也就是二极管元件。每一个二极管元件如同一个开关,有两种稳定的工作状态导通和截止,就是电脉冲的有和无,分别用1和0表示。当用户向计算机输入数据时,计算机先把数据转换为二进制形式,根据其每一位是0或1使相应的电子元件设置为导通或截止状态。位又叫比特bite,每一个二极管元件就叫一个二进制位,是存储信息的最小单元。
- 字节又叫拜特byte,一般八个二进制位为一组是一个字节 ,这是最常用的存储单位。平时所说的 占内存125KB是指12.5万字节,内存为256M是256兆字节就是一百万字节。硬盘容量为40G就是指40吉字节就是400亿字节。其实实际上1K=1024B,方便起见常说1K=1000B
关于整型数据的运算
- 一字节共有八个二进制位,左边第一位也就是最高位用于表示符号,最高位是0表示是正数。在计算机存储器中整数以补码形式存放,正数的补码与源码也就是二进制形式相同,负数用补码表示,负数先求补码再存放在储存单元中。
- 不同类型的数据在内存中的存储方式和占用空间字节数是不同的,一般以4字节byte,也就是32比特二进制位bite,最大值是31位1,即2的31次方-1,约为21亿,用于存放C语言的一个整数。
#include <stdio.h>
int main(){
int rabbit,hen,head,foot;
head=16;
foot=40;
rabbit=(foot-2*head)/2;
hen=16-rabbit;
printf("hen=%d,rabbit=%d\n",hen,rabbit);
return 0;
}
- 整型变量类型有int ,shortint, long int 。用unsigned修饰变量类型指定为无符号的整型变量 ,这样不用把存储单元中的第一位用来代表数值符号 ,这样存储数值的范围扩大了一倍。默认是有符号的整型变量,也可以用signed 修饰。类型相当于模板,是一种抽象的规定,不占储存空间。
- 变量名是代表一个储存单元的符号地址。当程序中有赋值语句时,编译系统根据变量名找到它对应的存储单元的地址,从而把变量值存放在该存储单元中。如果再次对该变量执行其他赋值语句,则新的变量值就会替代原值,这体现了变量的值是可以改变的。变量是根据类型所规定的的原则建立的实体,占储存空间。
- 变量必须先定义后使用,变量名一般最大长度为32个字符。标识符是用来标识一个对象如变量,符号常量,函数名,数组,文件,类型等。C语言规定标识符的第一个字符必须是大小写字母或者下划线_,标识符由数字和大小写字母和下划线构成,不能是关键字。
关于实型数据的运算
- 实数在计算机中被叫做浮点数,有两种表示形式:十进制小数形式,指数形式。十进制小数形式0.123,0.0,123.123都是,“3,0,-80”是整型常量不是实型数据。指数形式如123e-3,2.1E0都是,用E或e表示以10为底的指数,且字母前面必须有数字,字母后必须是整数。“E123,123e1.1,2e"都不合法。
- 一个实数可以有多种指数形式表达,但是只有一种标准化指数形式。标准化指数形式是指数值部分是一个小数,小数点前的数字是0,小数点后的第一位数字不能是0, 如0.123e2 。不论实数以什么形式出现都以标准化指数形式存储。实际上计算机用二进制形式表示数值,指数部分以2为底。在计算机中一般以四个字节存储一个实数,3字节存放数值部分和数符,一字节存放指数部分和指数符号。
#include <stdio.h>
#include <math.h>
int main(){
int count,payment;
double profit,month;
count=324500;
payment=3245;
profit=0.008;
month=(log10(payment)-log10(payment-count*profit))/log10(1+profit);
printf("month=%f\n",month);
printf("total=%f\n"