数据运算与存储

1 数据在计算机中是以二进制的形式存储的。

由于电路只有通断,所以电脑的主板也就是只有通断,因此必须要用二进制才能代表整个计算机的数据,而由于010100101000这种数字很多,才使用时不方便,所以人们要把他转化成我们所习惯的十进制,如果为了更加节省空间,还可以使用十六进制。

 

2 二进制转换为十进制。

0101010=0 * 2^0 + 1 * 2^1 + 0 * 2^2 + .....,也就是把他要当成 2^0 2^1 2^2......,然后乘以前面的系数。

 

3 十进制转换为二进制。

10转换为二进制:10除以二求余数,得到的一系列数从下面向上排,注:最下面的数也有,最下面的数:除去余数的最后一个得数。

 

4 位 字节 地址:

1bit(比特):即是一个二进制数字01

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(因为只能存储7bit,因为当是一个字节存储,那么第八位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 当然字符数据决不能当做整形,因为字符型数据就占一个字节,而整形是24个。

8 字符串常量:’a’  ‘”a”是有区别的,一个是字符,一个是字符串,因为在c编译系统中字符串的尾部会自动添加’\0’,则实际上也就是”a\0”;

9 不能将一个字符串放入一个变量,而要用字符数组。

 

9 符号常量:#define pi 3.1415

注:c语言规定两个整形相除还是整形,所以4/3   1,所以应该这么写:4.0/3.0

不能够对符号常量赋值

不能够对符号常量指定类型

10 转换:在进行运算时,所有的数字类型必须都要一样,所以字节少的数据类型要转化为字节多的数据类型。

比如只能整形与整形做余数运算,此时就必须使用强制转换。并且强制转化后之前的数字不变。

posted @ 2017-05-07 16:24  freebirds  阅读(636)  评论(0)    收藏  举报