数据运算与存储
1 数据在计算机中是以⼆进制的形式存储的。
由于电路只有通断,所以电脑的主板也就是只有通断,因此必须要⽤⼆进制才能代表整个计算机的数据,⽽由于010*********这种数字很多,才使⽤时不⽅便,所以⼈们要把他转化成我们所习惯的⼗进制,如果为了更加节省空间,还可以使⽤⼗六进制。
2 ⼆进制转换为⼗进制。
0101010=0 * 2^0 + 1 * 2^1 + 0 * 2^2 + .....,也就是把他要当成 2^0 2^1 ,然后乘以前⾯的系数。
字符串常量是什么样的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 转换:在进⾏运算时,所有的数字类型必须都要⼀样,所以字节少的数据类型要转化为字节多的数据类型。
⽐如只能整形与整形做余数运算,此时就必须使⽤强制转换。并且强制转化后之前的数字不变。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论