- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
类型转换基本规则 1. 数值不变,直接转换; 整形、浮点型(有效数字加减) 2. 低八位优先,保证数值不变; 长- 短: 截取; 短- 长:符号扩展, 正数及无符号:前补0; 有符号:前不1; 同长: 原样取出; 类型转换 ①将浮点型数据(包括单、双精度)赋给整 型变量时,舍弃浮点数的小数部分。 如:i为整型变量,执行“i 3.56”的结果是使 i的值为3,以整数形式存储在整型变量中. ②将整型数据赋给单、双精度变量时,数值不变, 但以浮点数形式存储到变量中 如: 1 将23赋给float变量f,即执行f=23,先将 23转换成23.00000,再存储在f中。 2 将23赋给double型变量d,即执行d=23,系统将23补足有效位数字为23.00000000000000,然后以双精度浮点数形式存储到变量d中。 ③将一个double型数据赋给float变量时,截取其前 面7位有效数字,存放到float变量的存储单元(4个 字节)中。但应注意数值范围不能溢出。 如:float f; double d 123.456789e100; f d; // 就出现溢出的错误。 如果将一个float型数据赋给double变量时,数 值不变,有效位数扩展到16位,在内存中以8个字节 存储. ④字符型数据赋给整型变量时,由于字符只 占1个字节,而整型变量为2个字节,因此将 字符数据(8个二进位)放到整型变量存储 单元的低8位中。 第一种情况:低位对应、高位补零 若所用系统将字符处理为无符号字符类型,或程序已将字符变量定义为unsigned char型,则将字符的8位放到整型变量低8位,高8位补零。例如: 将字符‘\376’赋给int型变量i 第二种情况:符号扩展 若所用系统(如Turbo C++)将字符处理为带符号(signed char)时,若字符最高位为0,则整型变量高8位补0;若字符最高位为1,则高8位全补1。这称为“符号扩展”,这样做的目的是使数值保持不变,如变量c(字符‘\376’)以整数形式输出为-2,i的值也是-2。 ⑤将一个int、short、long型数据赋给一个char型变 量时,只将其低8位原封不动地送到char型变量(即 截断)。例如:int i 289; char c ‘a’; c i; c的值为33, 如果用“%c”输出c 将得到字符“!” !的ASCII码为33。 赋值情况 : 将带符号的整型数据(int型)赋给long型变量时,要进行符号扩展,将整型数的16位送到long型低16位中: 如果int型数据为正值(符号位为0),则long型变量的高16位补0; 如果int型变量为负值(符号位为1),则long型变量的高16位补1,以保持数值不改变。 反之,若将一个long型数据赋给一个int型变量,只将long型数据中低16位原封不动地送到整型变量(即截断)。 例如:int a;long b=8;a b 赋值情况如下 : 如果b=65536(八进制数0200000), 则赋值后a值为0。 ⑦将unsigned int型数据赋给long int型变量时,不 存在符号扩展问题,只需将高位补0即可。将一个 unsigned类型数据赋给一个占字节数相同的signed型 整型变量.例如:unsigned int- int unsigned long- long unsigned short- short 将unsigned型变量的内容原样送到signed型变量中, 但如果数据范围超过相应整型的范围,则会出现数据 错误。 例如:unsigned int a=65535; int b; b=a; 将a整个送到b中,由于b是int,第1位是符号位, 因此b成了负数。根据补码知识可知,b的值为-1, 可以用printf(″%d″,b ;来验证。 ⑧将signed型数据赋给长度相同的unsigned型变 量,也是原样照赋(符号位也作为数值一起传送)。 例如: long b=65536; int a; a=b; 例3.9 有符号数据传送给无符号变量。 #include void main() {unsigned a; int b=-1; a=b; print(″%u\n″,a); } 说明:“%u”是输出无符号数时所用的格式符。如果b为正值,且在0~32767之间,则赋值后数值不变。 运行结果: 65535 3.9 赋值运算符和赋值表达式 3 复合的赋值运算符 在赋值符“=”之前加上其他运算符,可以构成复 合的运算符。 例如: 1 a+=3 等价于 a=a+3 2 x*=y+8 等价于 x=x*(y+8) 3 x%=3 等价于 x=x%3
您可能关注的文档
- (课件) 康佳不用除霜不串味也不风干食物的冰箱 BCD-610WD6EGL 上市指引.pptx
- (课件) 康佳十字对开冰箱BCD-405D4GL上市指引.pptx
- (马克思主义基本原理概论教学资料)《共产党宣言》读书笔记.docx
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj01.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj02.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj03.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj04.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj05.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj06.doc
- (马克思主义基本原理概论教学资料)《马克思主义基本原理概论》试卷xtsj07.doc
最近下载
- 江淮瑞风S5_汽车使用手册用户操作图解驾驶指南车主车辆说明书电子版.pdf VIP
- 奶茶烤串策划方案.docx VIP
- 医院内部控制管理手册.pdf VIP
- 2025年党建知识测试复习卷含答案.docx VIP
- 10《往事依依》课件(共25张PPT).pptx VIP
- 建设工程工程量清单计价规范(GB 50500-2024).docx VIP
- 中国移动创世界一流“力量大厦”战略及党建知识测试题 .docx VIP
- 透析病人低血压个案护理.pptx
- (优质!)50500-2024建设工程工程量清单计价规范新旧版本的主要变化逐项对比分析.docx VIP
- 驾驶员岗位安全风险告知卡.docx VIP
文档评论(0)