不是的,int大小是跟着系统走的,不是在各个系统里固定不变的。
32位系统int就是32位。64位系统,int就是64位。short 和long的长度则跟着int走,一般来说int是32位,short就是16位,long就是64位。
float_Complex double_Complex long double_Complex 包含两个值是实部和虚部。需要包含头文件才可以使用complex代替_Complex, imaginary代替_Imaginary, I代替-1的平方根 。为啥需要引用头文件,为了防止冲突。如果不引用头文件,_Complex _Imaginary可用。
比如浮点数2.0E20+1要除以2需要动第21位小数,但是小数不够啊,结果就错了。如果2.0E4+1就可以了。小数部分和指数部分都不超限,数据就正常。 浮点数的表示方法很多种,IEEE将其统一了,并在C99和C11可选。
浮点型数据,超过最大值会上溢。inf 或是infinity。低于正常值的浮点值,下溢(0.1234E-10 /10 应该是0.1234E-11,但是指数最小就是-10,不能-11,咋办?变成了0.0123E-10,小数最后一位丢了)。
最小浮点数/2会得到一个低于正常的值,或是除以一个非常大的值,导致所有位都是0,用NaN表示,printf可以显示。
在CMakeLists.txt添加install指令。但是需要make install才会执行install部分。
因为浮点型数据分为两个部分,小数部分和指数部分,直接比较时,会产生结果错误。怎么办?让两者相减,大小就分开了。
见下一章