c语言中什么是单精度型和双精度型???各举个例子。。。

Python022

c语言中什么是单精度型和双精度型???各举个例子。。。,第1张

精度型和双精度型的区别在于它们的精确程度不一样,也就是小数部分的有效位数不一样。

单精度数(float型)在32位计算机中存储占用4字节,也就是32位,有效位数为7位,小数点后6位;双精度数(double型)在32位计算机中存储占用8字节,也就是64位,有效位数为16位,小数点后15位。

比如3.1415926535897932384这个小数,如果定义成float型,那么只会留下小数点后5位,也就是3.141592,如果定义成double型,那么只会留下小数点后15位,也就是3.141592653589793。

扩展资料

计算机的数都是以二进制进行存储。无论是单精度浮点数还是双精度浮点数,在计算机上的存储都遵循IEEE 754规范,使用二进制科学计数法。

二进制科学计数法包含三个部分:符号位,指数位和尾数部分。单精度数的符号位,指数位和尾数部分分别为1,8,23,而双精度为1,11,52。

而单双精度中的精度就主要取决于尾数部分的位数。float的尾数尾数为23位,除去全部为0的情况以外,最小为2的-23次方,因此float小数部分只能精确到后面6位。类似的,double尾数位数为52,最小为2的-52次方,因此只能精确到小数点后15位。

参考资料来源:百度百科-单精度浮点数

参考资料来源:百度百科-双精度浮点数

c语言中双等号是关系运算符“等于”(==),即日常生活中常说的等于(如判断两个数是否相等)。

c语言中一个等号是“基本赋值运算符”(=),它的作用是将一个表达式的值赋给一个左值。所谓左值是指一个能用于赋值运算左边的表达式。左值必须能够被修改,不能是常量。

例如:

#include

int main(){

int a = 1// 为a赋值1

int b = 2

if (a == b){ // 如果a等于b

printf("a等于b\n")

}else {

printf("a不等于b\n")

}

return 0

}关系运算符:

用于比较运算。包括大于(>)、小于(<)、等于(==)、

大于等于(>=)

、小于等于(<=)和不等于(!=)六种。

赋值运算符:

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。