数据运算与存储
1 数据在计算机中是以二进制的形式存储的。
由于电路只有通断,所以电脑的主板也就是只有通断,因此必须要用二进制才能代表整个计算机的数据,而由于010100101000这种数字很多,才使用时不方便,所以人们要把他转化成我们所习惯的十进制,如果为了更加节省空间,还可以使用十六进制。
2 二进制转换为十进制。
0101010=0 * 2^0 + 1 * 2^1 + 0 * 2^2 + .....,也就是把他要当成 2^0 2^1 2^2......,然后乘以前面的系数。
3 十进制转换为二进制。
10转换为二进制:10除以二求余数,得到的一系列数从下面向上排,注:最下面的数也有,最下面的数:除去余数的最后一个得数。
4 位 字节 地址:
1bit(比特):即是一个二进制数字0或1。
1byte(拜特):即是8个二进制数字的组成的,也就是我们所说的一个字节,1kb也就是1000(准确的说应该是1024)个byte. 1M=10^6byte。
5 不同类型数据的存储方式。
首先说明,这并不是固定的,因为编译系统不是固定的,所以比如一个int 有可能是2个字节,也有可能是4个字节。(example: tuber c (2个字节) 和 visual c++ (4个字节))
整数的存储方式:10的二进制是1010,所以如果存储在一个字节,应该是00001010.而存储一个字节是不可能的,因为,其最大值是2^7-1(因为只能存储7个bit,因为当是一个字节存储,那么第八位bit存储的是正负。)注:tuber c是两个字节,visual c++ 是四个字节,你懂得。
对于正负,实际上是以补码存储。
实数存储方式:对于实数,一律采用指数形式存储,且需要用到标准化指数形式:123.456标准形式为:0.123456*10^6;
实数一般用4个字节,知道就好。
字符的存储方式:用ASCII存储,即字符的对应数字以二进制形式存储。而且最常用的是前127个。
6 整数的运算与分析:
<A>注意:在使用变量之前必须要声明,因为不同类型的变量所占据的字节不同,整形占4个,等等,等等。
<B>整形常量与整形变量:
常量:比如16 40,这两个数字就不能改变
变量:值是可以改变的。变量名就是符号地址,即用一个字母去代表一个变量的地址。 命名规则: 1 第一个必须是字母或者下划线 2 大小写敏感 3 变量名的长度不是无限的 3 尽量简单易记 4 名字不能够重复
整形常量:12 -56,当然还有八进制,十六进制的东西。
整形变量:short long int 可以用signed修饰
7 实型数据的运算与分析:
1 实数的常量c语言都把他们作为double,而不是float,比如float a=0.08,0.08本来是double,而这里把他赋值给float.所以会报一些小问题。
2 实数型常量:不管是小数还是指数,都用标准化指数形式输出。
3 实数型变量:分为单精度,双精度,长双精度。
Visual c++在单精度的字节是4个字节(7位有效数字),双精度是8个字节(15 16 位有效数字),长双精度是8个字节,可以用sizeof来看出是多少。
4 实数型的舍入误差:因为字节有限,所以有些会被舍去,可能会造成误差。
因此如果数据要求很精准,尽量用双精度
8 字符型数据的运算:
1 字符型数据类型名为char
2 输出格式如果是%c ,则输出字符,如果输出的是%d,则输出的是数字,因为实际上字符也是通过数字存储的。
3 字符常量:’a’, ‘b’, ’c’, ‘d’..............
4 转义字符:\n \t \b.............
5 字符变量: char a=’a’;
6 字符数据与整形数据有时候可以互用:因为字符就是整形数字,可以来回加减,最后就看你是以什么形式输出的。
7 当然字符数据决不能当做整形,因为字符型数据就占一个字节,而整形是2或4个。
8 字符串常量:’a’ 与 ‘”a”是有区别的,一个是字符,一个是字符串,因为在c编译系统中字符串的尾部会自动添加’\0’,则实际上也就是”a\0”;
9 不能将一个字符串放入一个变量,而要用字符数组。
9 符号常量:#define pi 3.1415
注:c语言规定两个整形相除还是整形,所以4/3 是1,所以应该这么写:4.0/3.0
不能够对符号常量赋值
不能够对符号常量指定类型
10 转换:在进行运算时,所有的数字类型必须都要一样,所以字节少的数据类型要转化为字节多的数据类型。
比如只能整形与整形做余数运算,此时就必须使用强制转换。并且强制转化后之前的数字不变。

浙公网安备 33010602011771号