《数据类型转换课件.ppt》由会员分享,可在线阅读,更多相关《数据类型转换课件.ppt(27页珍藏版)》请在三一办公上搜索。
1、2.3 数据类型转换,第八格科技中心,1,PPT课件,自动类型转换,强制类型转换,二进制,位,ASCII码,Content,目 录,字符型和整型转换,2,PPT课件,书上例2.15:已知三角形的底为23,高为51、求三角形的面积。#include using namespace std;const double PI=3.14159;int main()int a=23,h=51;float s=a*h/2.0;/note 2.0cout三角形的面积为:sendl;return 0;数据类型转换就是将数据从一种类型转换到另一种类型.,3,PPT课件,01,自动类型转换,Part One,4,P
2、PT课件,2.3.1 自动类型转换 若参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换有二种:自动类型转换和强制类型转换。自动类型转换遵循以下规则:1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。如:int a=5;float b=10.0;b=a+b;/a转换成浮点数再运算2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。char(short)-int-long-float-double,5,PPT课件,2.3.1 自动类型转换(续)3、在赋值运算中,赋值号两边量的数据类型不同时,赋值号右边量的
3、类型将转换为左边量的类型。如:int a=5;float b=10.0;b=a/2;/b=2.0如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。如:int a=5;float b=10.4;a=b/2;/a=5,6,PPT课件,02,强制类型转换,Part Two,7,PPT课件,2.3.2 强制类型转换 当自动类型转换不能实现目的时,可显示进行类型转换,即强制类型转换。格式如下:(类型名)(表达式);(类型名)变量/常量;如:float a=5.1,b=6.2;int c=(int)(a+b);float x=(float)5/3;floa
4、t x=(float)(5/3);,8,PPT课件,书例2.16 求三个整数的和。#include using namespace std;int main()int a,b,c,s;a=1562345672;b=1456789343;c=1234567832;s=a+b+c;couts=sendl;return 0;,运行结果:s=-41264449,9,PPT课件,书例2.16 求三个整数的和。#include using namespace std;int main()int a,b,c;long long s;a=1562345672;b=1456789343;c=1234567832
5、;s=a+b+c;couts=sendl;return 0;,运行结果:s=-41264449,10,PPT课件,#include using namespace std;int main()int a,b,c;long long s;a=1562345672;b=1456789343;c=1234567832;s=(long long)a+b+c;couts=sendl;return 0;运行结果:s=4253702847,11,PPT课件,思考:p35.思考(1)课堂练习 上机编程 p35.思考(2)。,12,PPT课件,03,二进制,位,ASCII码,Part Three,13,PPT课
6、件,二进制 是计算技术中广泛采用的一种数制。二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:二进制数据一般可写为:如:二进制数据111.01,逢2进1,其权的大小顺序为2、2、20、2-1、2-2。,14,PPT课件,课堂练习请将下列二进制数转换成对应的十进制数。(1011)2=(0111)2=(1110)2=,15,PPT课件,二进制加法运算:有四种情况:0+0=00+1=11+0=11+1=(10)2例:求(1011)2+(11)2,(1011)2+(11)2=(1110
7、)2,16,PPT课件,课堂练习完成下列二进制数的加法运算。(1000)2+(0111)2=(1101)2+(0101)2=(1111)2+(0101)2=,17,PPT课件,位 在二进制数系统中,位,简记为b,也称为比特(bit),每个0或1就是一个位。位是数据存储的最小单位。其中8 bit 就称为一个字节(Byte),简记为B。字节是数据存储的基本单位。一些常见存储单位:1B(byte,字节)=8 bit;1KB(kilobyte,千字节)=1024B;1MB(Megabyte,兆字节)=1024KB=;1GB(Gigabyte,吉字节)=1024MB;1TB(Terabyte,太字节)=
8、1024GB;1PB(Petabyte,拍字节)=1024TB;,18,PPT课件,ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一套电脑编码系统,主要用于显示现代英语和其他西欧语言。在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不
9、造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。,19,PPT课件,标准ASCII 码也叫基础ASCII码,占一个字节的空间,使用右7 位二进制数(剩下的最左位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。如:,20,PPT课件,04,字符型和整型的转换,Part Four,21,PPT课件,字符型和整型的转换 字符数据与整数的存储形式类似,都是以ASCII码存储的。这样C+中字符型和整型数据之间就可以通用。一个字符型数据可以赋给一个整形变量,反之亦然。
10、也可以对字符型数据进行算数运算,相当于对它的ASCII码进行算术运算。,22,PPT课件,书例2.17:将字符赋给整形变量#include using namespace std;int main()int i,j;i=A;j=B;couti=itj=j;return 0;运行结果:i=65 j=66说明:A的ASCII码:01000001,它对应的十进制值(码值)是 65。B的ASCII码:01000010,它对应的十进制值是 66。,23,PPT课件,书例2.18:将小写字母转换成大写字母#include using namespace std;int main()char c1=a,c2=b;c1=c1-32;c2=c2+A-a;coutc1tc2;return 0;运行结果:AB说明:a 的ASCII码值是97,而 A的ASCII码值是65,a-A=32.,24,PPT课件,课堂练习:编程将大写字母A,B 转换成小写字母。,25,PPT课件,05,作业,Part Six,26,PPT课件,作业复习书2.3内容。请将下列二进制数转换成十进制数。(1001)2,(01100110)2计算二进制加法:(1001)2+(1011)2=完成书第37页练习1,27,PPT课件,