摘要:
【类型转换】
C++有11种整型和3种浮点类型,当对不同的类型进行计算时,C++会自动执行类型的转换。
【自动类型转换】
执行情况:
· 将一种算数类型赋给另一种算数类型时
· 表达式中包含不同的类型时
· 将参数传递给函数时
· 强制类型转换
1、赋值时进行的转换
· 值将被转换成接受变量的类型。
此时将一个值赋给范围更大的类型通常不会出现什么问题,但是反过来就应该考虑截断(丢掉小数)和精度损失的问题。
· 将0赋给bool类型被转换为false,非零转换为true
2、表达式中的转换
规则如下:
· long double > double > float > long int >= int > s 阅读全文
摘要:
1.Java提供3个特殊的浮点数值
1).正无穷大:POSITIVE_INFINITY
2).负无穷大:NEGATIVE_INFINITY
3).非数:NaN
2.所有的正无穷大数和负无穷大数都是相等的,
所有的非数都是不相等的,甚至NaN和NaN
3.只有浮点数除以0才会得到正无穷大或负无穷大
如果一个整数除以0会抛出:ArithmeticException:/by zero
4.Java 7 新增二进制整数,还可以在数值中使用下划线分隔 阅读全文
摘要:
魔术师发牌问题
【问题描述】
魔术师利用一副牌中的13张黑牌,预先将他们排好后叠放在一起,牌面朝下。对观众说:“我不看牌,只数数就可以猜到每张牌是什么,我大声数数,你们听,不信?现场演示。”
魔术师将最上面的那张牌数为1,把他翻过来正好是黑桃A,将黑桃A放在桌子上,然后顺序从上到下数手上的余牌,第二次数1,2,将第一张牌放在这些牌的下面,将第二章牌翻过来,正好是黑桃2,也将它放在桌子上,第三次数1,2,3,将前面两张依次放在这些牌的下面,再翻第三章牌正好是黑桃3。这样依次进行将13张牌全部翻出,准确无误。
【问】:牌的开始顺序是如何安排的?
【问题分析】 阅读全文