1、2.3 数据类型转换第八格科技中心1PPT课件自动类型转换强制类型转换二进制,位,ASCII码010203Content目 录04字符型和整型转换2PPT课件书上例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三角形的面积为:s int - long - float - double5PPT课件铁板烧大雄老鼠2.3.1 自动类型转换(续)3、在赋值运算中,赋值号两边
2、量的数据类型不同时,赋值号右边量的类型将转换为左边量的类型。 如:int a=5;float b=10.0;b=a/2;/ b=2.0如果右边量的数据类型长度比左边长时,将丢失一部分数据,这样会降低精度,丢失的部分按四舍五入向前舍入。如:int a=5;float b=10.4;a=b/2;/a=56PPT课件02强制类型转换Part Two7PPT课件2.3.2 强制类型转换 当自动类型转换不能实现目的时,可显示进行类型转换,即强制类型转换。 格式如下: (类型名) (表达式); (类型名) 变量/常量; 如:float a=5.1, b=6.2;int c=(int)(a+b);float
3、 x=(float)5/3;float x=(float) (5/3);8PPT课件书例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 9PPT课件书例2.16 求三个整数的和。#include using namespace std;int main() int a,b,c; long long s;a=1562345672;b=1456789
4、343;c=1234567832;s=a+b+c;couts=sendl;return 0;运行结果:s=-41264449 10PPT课件#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=425370284711PPT课件思考: p35. 思考(1)课堂练习 上机编程 p35. 思考(2)。12PPT课件03二进制,位,ASCII码Part Thr
5、ee13PPT课件二进制 是计算技术中广泛采用的一种数制。 二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。 对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为:二进制数据一般可写为: 如:二进制数据111.01,逢2进1,其权的大小顺序为2、2、20、2-1 、2-2 。 14PPT课件课堂练习请将下列二进制数转换成对应的十进制数。(1011)2 =(0111)2 =(1110)2 =15PPT课件二进制加法运算:有四种情况: 0+0=00+1=11+0=11+1=(10)2例:求 (1011)2+(11)2(1011)2+
6、(11)2 = (1110)216PPT课件课堂练习完成下列二进制数的加法运算。(1000)2+(0111)2 =(1101)2+(0101)2 =(1111)2+(0101)2 =17PPT课件位 在二进制数系统中,位,简记为b,也称为比特(bit) ,每个0或1就是一个位。 位是数据存储的最小单位。 其中8 bit 就称为一个字节(Byte),简记为B。字节是数据存储的基本单位。一些常见存储单位: 1B(byte,字节)= 8 bit; 1KB(kilobyte,千字节)=1024B; 1MB(Megabyte,兆字节)=1024KB=; 1GB(Gigabyte,吉字节)=1024MB;
7、 1TB(Terabyte,太字节)=1024GB; 1PB(Petabyte,拍字节)=1024TB; 18PPT课件ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一套电脑编码系统,主要用于显示现代英语和其他西欧语言。 在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这
8、就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。19PPT课件 标准ASCII 码也叫基础ASCII码,占一个字节的空间,使用右7 位二进制数(剩下的最左位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。如:二进制图形0100 00000100 0001A0100 0010B0100 0011C0100 0100D0100 0101E0100 0110F0011 000000011 000110011 0010200
9、11 001130011 010040011 010150011 011060011 011170011 100080011 1001920PPT课件04字符型和整型的转换Part Four21PPT课件字符型和整型的转换 字符数据与整数的存储形式类似,都是以ASCII码存储的。这样C+中字符型和整型数据之间就可以通用。 一个字符型数据可以赋给一个整形变量,反之亦然。也可以对字符型数据进行算数运算,相当于对它的ASCII码进行算术运算。22PPT课件书例2.17:将字符赋给整形变量#include using namespace std;int main() int i,j;i=A;j=B;c
10、outi=itj=j;return 0;运行结果:i=65 j=66说明:A的ASCII码:0100 0001,它对应的十进制值(码值)是 65。B的ASCII码:0100 0010,它对应的十进制值是 66。23PPT课件书例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.24PPT课件课堂练习: 编程将大写字母A,B 转换成小写字母。25PPT课件05作业Part Six26PPT课件作业1. 复习书2.3内容。2. 请将下列二进制数转换成十进制数。 (1001)2 , (01100110)23. 计算二进制加法: (1001)2 + (1011)2=4. 完成书第37页练习127PPT课件