C语言中除法怎么取得小数?
除了一开始用float进行定义之外,
后面进行除法运算的时候要加.0,
否则算出的结果电脑会自动取整
如:3/2的结果和3.0/2的结果就不同
因为没有定义3/2为浮点型,所以3/2自动取整,
结果等于1
而3.0/2,由于预先用浮点型表示
其结果显然为:1.5
除了一开始用float进行定义之外,后面进行除法运算的时候要加 “.0”,否则算出的结果电脑会自动取整。
如:3/2的结果和3.0/2的结果就不同,因为没有定义3/2为浮点型,所以3/2自动取整,结果等于1。而3.0/2,由于预先用浮点型表示,其结果显然为:1.5
除法分为整除和精确除
例如a/b
当a,b同时为整数时,是整除,例3/5=0,5/3=1,14/5=2就是只要整数部分,
而如果a,b两个有一个或者两个都是小数的话,就是精确除,和数学里的除是一样的,例,3.0/5=0.6,1.2/4=3.0
在计算C语言算术表达式的结果时,特别是除法,需要注意计算过程中运算对象的数据类型转换,相同数据类型的数据,变量进行运算,结果保持原有数据类型。
当不同数据类型的数据,变量进行运算时,结果为精度高的数据类型。
例如:1/2 的结果为0 1.0/2 的结果为 0.5
C语言的运算结果要看运算符两端的运算数的数据类型。
比如,整形除整形,结果一定是整形。整形除浮点型或者浮点型除整形,结果就是浮点型。这个和数学上的运算是不同的。具体转换规则可以查阅C语言教材。比如,7/5结果是1, 12/5结果是2,12/5.0结果是2.400000。
不单单是除法,别的运算符也一样。