c语言中1.5E12是什么?

以下介绍5种C++基本运算符

注意/为第一个数除以第二个数,结果为商的整数部分,小数部分被丢弃

%求模,两个操作数必须是整型,它生成第一个数除以第二个数的余数

如果其中一个是负数,那么结果的符号满足:(a/b)*b+a%b=a

它只保证6位有效位,四舍五入成6位就是61.4200是对的,cout打印6个小数,使用double能保证更好的精度。

1.运算符优先级和结合性

先乘除后加减,也可以用括号来执行自己定义的优先级

而×、/、%优先级相同,这个时候需要考虑结合性,可去附录D查看

乘除都是从左到右的,所以结果为150

仅当两个运算符被用于同一操作数时,优先级和结合性规则才有效

运算符重载是什么意思?

比如你定义一个类型“学生”

现在如果你把两个“学生”类型的变量相加, 那系统怎么知道你要怎么加? 如果是数字的话,系统知道。

那这个时候,你就要为“学生”这个类型重载加号运算符

然后在这个重载的方法里实现相加的意义,比如“学生”类型的年龄相加,或是其它东西相加,这个就你自己定义了

它返回整数除法的余数,适用于解决要求将一个量分成不同整数单元的问题

C++允许将一种类型的值赋给另一个类型的变量

程序将thirty的值扩展为long,扩展后得到一个新值,被存储在so_long中,而thirty内容不变。值不会改变,只是占用更多的字节。

将较大的浮点类型转换为较小的浮点类型,如将double转换为float

精度(有效位数)降低,值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的

小数部分丢失,原来的值可能超出目标类型的取值范围,在这种情况下,结果将是不确定的

将较大的整型转换为较小的整型,如将long转换为short

原来的值可能超出目标类型的取值范围,通常只复制右边的字节

像一个long值,(如)赋给float精度将下降,float只有6位有效数字,四舍五入为2.11122E9

将浮点转化为整型会将数字截短,其次float相对于int太大了,float至少32位,int至少16位。

int变量无法存储3.0E12,导致C++没有对结果进行定义的情况发生。

使用大括号的初始化称为列表初始化,给复杂的数据类型提供值列表。它对类型的转换要求更加严格,列表初始化不允许缩窄。即变量的类型无法表示赋给它的值。

条件是编译器知道目标变量能够正确的存储赋给它的值。

在计算表达式时,C++将bool、char、unsigned char和short值转换为int叫做整型提升,当运算涉及两种类型时,较小的类型被转化为较大的类型。

(2)否则,有一个类型为double,则将另一个转化为double

(3)否则,一个类型为float,则另一个为float

(4)否则,操作数都是整型,因此执行整型提升

(5)如果两操作数都是有符号或无符号的,且其中一个操作数比另一个低,则转换为高的级别

(6)如果一个有符号,一个无符号,无符号操作数比有符号的高,则将有符号转化为无符号的类型

(7)如果有符号类型可表示无符号的所有可能取值,则将无符号转化为有符号操作数所属类型

(8)否则,将两个操作数都转化为有符号类型的无符号版本

强制类型转化(将thorn中的int值转化为long类型)

第一种格式来自C语言,第二种格式是C++,就像是函数调用。

auto这个新工具能够根据初始值的类型来推断变量的类型

如要把x、y、z指定为double类型

}

我要回帖

更多关于 c语言中double类型的数怎么输出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信