小学c++课件2.3

上传人:简****9 文档编号:100101346 上传时间:2019-09-22 格式:PPT 页数:27 大小:588KB
返回 下载 相关 举报
小学c++课件2.3_第1页
第1页 / 共27页
小学c++课件2.3_第2页
第2页 / 共27页
小学c++课件2.3_第3页
第3页 / 共27页
小学c++课件2.3_第4页
第4页 / 共27页
小学c++课件2.3_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《小学c++课件2.3》由会员分享,可在线阅读,更多相关《小学c++课件2.3(27页珍藏版)》请在金锄头文库上搜索。

1、2.3 数据类型转换,第八格科技中心,自动类型转换,强制类型转换,二进制,位,ASCII码,Content,目 录,字符型和整型转换,书上例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.0 cout“三角形的面积为:“sendl; return 0; 数据类型转换就是将数据从一种类型转换到另一种类型.,01,自动类型转换,Part One,2.3.1 自动类型转换 若

2、参与运算量的类型不同,则先转换成同一类型,然后进行运算。转换有二种:自动类型转换和强制类型转换。 自动类型转换遵循以下规则: 1、若参与运算量的类型不同,则先转换成同一类型,然后进行运算。 如: int a=5;float b=10.0; b=a+b; /a转换成浮点数再运算 2、转换按数据长度增加的方向进行,以保证精度不降低。如int型和long型运算时,先把int量转成long型后再进行运算。 char(short) - int - long - float - double,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,02,强制类型转换,Part Two,2.3.2 强制类型转换 当自动类型转换不能实现目的时,可显示进行类型转换,即强制类型转换。 格式如下: (类型名) (表达式); (类型名) 变量/常量; 如: float a=5.1, b=6.2; int c=(int)(a+b); float x=(float)5/3; float x=(f

4、loat) (5/3);,书例2.16 求三个整数的和。 #include using namespace std; int main() int a,b,c,s; a=1562345672; b=1456789343; c=1234567832; s=a+b+c; cout“s=“sendl; return 0; ,运行结果:s=-41264449,书例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; cout“s=“sendl; return 0; ,运行结果:s=-41264449,#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; cout“s=“sendl; return 0; 运行结果: s=4253702847,思考: p35. 思考(1) 课堂练习 上机编程 p35. 思考(2)。,03,二进制,位,ASCII码,Part Three,二进制 是计算技术中广泛采

6、用的一种数制。 二进制数据是用0和1两个数码来表示的数。它的基数为2,进位规则是“逢二进一”,借位规则是“借一当二”。 对于有n位整数,m位小数的二进制数据用加权系数展开式表示,可写为: 二进制数据一般可写为: 如:二进制数据111.01,逢2进1,其权的大小顺序为2、2、20、2-1 、2-2 。,课堂练习 请将下列二进制数转换成对应的十进制数。 (1011)2 = (0111)2 = (1110)2 =,二进制加法运算: 有四种情况: 0+0=0 0+1=1 1+0=1 1+1=(10)2 例:求 (1011)2+(11)2,(1011)2+(11)2 = (1110)2,课堂练习 完成下

7、列二进制数的加法运算。 (1000)2+(0111)2 = (1101)2+(0101)2 = (1111)2+(0101)2 =,位 在二进制数系统中,位,简记为b,也称为比特(bit) ,每个0或1就是一个位。 位是数据存储的最小单位。 其中8 bit 就称为一个字节(Byte),简记为B。字节是数据存储的基本单位。 一些常见存储单位: 1B(byte,字节)= 8 bit; 1KB(kilobyte,千字节)=1024B; 1MB(Megabyte,兆字节)=1024KB=; 1GB(Gigabyte,吉字节)=1024MB; 1TB(Terabyte,太字节)=1024GB; 1PB(

8、Petabyte,拍字节)=1024TB; ,ASCII码 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是一套电脑编码系统,主要用于显示现代英语和其他西欧语言。 在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如,像a、b、c、d这样的52个字母(包括大写)、以及0、1等数字还有一些常用的符号(例如*、#、等)在计算机中存储时也要使用二进制数来表示,而具体用哪些二进制数字表示哪个符号,当然每个人都可以约定自己的一套(这就叫编码),而大家如果要想互相通信而不造成混乱,那么大家就必须使用相同的编

9、码规则,于是美国有关的标准化组织就出台了ASCII编码,统一规定了上述常用符号用哪些二进制数来表示。,标准ASCII 码也叫基础ASCII码,占一个字节的空间,使用右7 位二进制数(剩下的最左位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号, 以及在美式英语中使用的特殊控制字符。如:,04,字符型和整型的转换,Part Four,字符型和整型的转换 字符数据与整数的存储形式类似,都是以ASCII码存储的。这样C+中字符型和整型数据之间就可以通用。 一个字符型数据可以赋给一个整形变量,反之亦然。也可以对字符型数据进行算数运算,相当于对它的ASCII码进行算术运算。,书例2.17:

10、将字符赋给整形变量 #include using namespace std; int main() int i,j; i=A; j=B; cout“i=“i“tj=“j; return 0; 运行结果:i=65 j=66 说明: A的ASCII码:0100 0001,它对应的十进制值(码值)是 65。 B的ASCII码:0100 0010,它对应的十进制值是 66。,书例2.18:将小写字母转换成大写字母 #include using namespace std; int main() char c1=a,c2=b; c1 = c1-32; c2=c2+A-a; coutc1tc2; return 0; 运行结果:A B 说明: a 的ASCII码值是97,而 A的ASCII码值是65,a-A=32.,课堂练习: 编程将大写字母A,B 转换成小写字母。,05,作业,Part Six,作业 复习书2.3内容。 请将下列二进制数转换成十进制数。 (1001)2 , (01100110)2 计算二进制加法: (1001)2 + (1011)2= 完成书第37页练习1,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号