各类数值型数据间如何混合运算? 您所在的位置:网站首页 整型和实型相加怎么算 各类数值型数据间如何混合运算?

各类数值型数据间如何混合运算?

2024-07-04 22:55| 来源: 网络整理| 查看: 265

整型(包括int,short,long)、实型(包括float,double)可以混合运算。前已述及,字符型数据可以与整型通用,因此,整型、实型、字符型数据间可以混合运算。例如: 10+'a'+1.5-8765.1234 *'b' 是合法的。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。转换的规则按图3.10所示。 图3.10

图中横向向左的箭头表示必定的转换,如字符数据必定先转换为整数,short型转换为int型,float型数据在运算时一律先转换成双精度型,以提高运算精度(即使是两个float型数据相加,也先都化成double型,然后再相加)。 纵向的箭头表示当运算对象为不同类型时转换的方向。例如int型与double型数据进行运算,先将int型的数据转换成double型,然后在两个同类型(double型)数据间进行运算,结果为double型。注意箭头方向只表示数据类型级别的高低,由低向高转换。不要理解为int型先转换成unsigned int型,再转成long型,再转成double型。如果

 一个int型数据与一个double型数据运算,是直接将int型转成double型。同理,一个int型与一个long型数据运算,先将int型转换成long型。 换言之,如果有一个数据是float型或double型,则另一数据要先转换为double型,运算结果为double型。如果参加运算的两个数据中最高级别为long型,则另一数据先转换为long型,运算结果为long型。其他依此类推。 假设已指定i为整型变量,f为float变量,d为double型变量,e为long型,有下面式子:    10+'a'+i*f-d/e

在计算机执行时从左至右扫描,运算次序为: ①进行10+‘a’的运算,先将‘a’转换成整数97,运算结果为107。 ②由于“*”比“+”优先,先进行i*f的运算。先将i与f都转成double型,运算结果为double型。 ③整数107与i*f的积相加。先将整数107转换成双精度数(小数点后加若干个0,即107.000…00),结果为double型。 ④将变量e化成double型,d/e结果为double型。⑤将10+'a'+i*f的结果与d/e的商相减,结果为double型。 上述的类型转换是由系统自动进行的。

转自:http://202.195.237.152/ec/C141/no3/right3-2-5.html



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有