2021-08-15 浮点型数据类型

2021-11-17  本文已影响0人  Denholm
#define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    // 十进制小数形式,必须带小数点
    printf("俺的银行账户里有%f元\n", 1.23);
    printf("俺的银行账户里有%f元\n", 102.23);
    printf("俺的银行账户里有%f元\n", 0.23);
    printf("俺的银行账户里有%f元\n", .23);
    printf("俺的银行账户里有%f元\n", 123.);

    // 指数形式:e或E之前必须有数字;指数必须为指数
    printf("年前俺的银行账户里有%f元\n", 1.234e4); // 10^4=10000
    printf("年后俺的银行账户里有%f元\n", 1.234e-4); // 10^-4=0.00001

    printf("%d,%d\n",sizeof(1.0),sizeof(1.0f));
    printf("%d,%d\n", sizeof(double), sizeof(float));
    // 默认为double型,例如3.14就是double型8字节
    // 后面加f或F为float型,例如3.14f就是float型4字节

    system("pause");
    return 0;
}
#define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    /*
    浮点型变量
    浮点型分为单精度型(float)和双精度型(double)两种。
    float型数据占用4个字节(32bits)存储单元,提供的有效数字是6~7位;
    double型数据占用8个字节(64bits)存储单元,提供的有效数字是15~16位。
    */
    float fl;
    fl = 1234.5;
    double db;
    db = 123.45e4;
    printf("我有%f元,经过努力后变为%f元\n", fl, db);
    printf("float:%d,double:%d", sizeof(fl), sizeof(db));

    system("pause");
    return 0;
}

在计算机中表示整数比较简单,但表示带有小数点的数据却稍微麻烦了一些。如何确定小数点的位置呢?通常有两种方法:
一种是规定小数点位置固定不变,称为定点数。
另一种是小数点的位置不固定,可以浮动,称为浮点数。
在计算机中,通常是用定点数来表示整数和纯小数,分别称为定点整数和定点小数。对于既有整数部分、又有小数部分的数,一般用浮点数表示。这种表达方式利用科学计数法来表达实数,即用一个尾数(Mantissa),一个基数(Base),一个指数(Exponent)以及一个表示正负的符号来表达实数。
比如123.45 用十进制科学计数法可以表达为1.2345 × 100,用科学计数法表示为1.2345e2。其中 1.2345 为尾数,10 为基数,2 为指数。浮点数利用指数达到了浮动小数点的效果,从而可以灵活地表达更大范围的实数。

#define _CRT_SECURE_NO_WARNINGS // 去掉安全检查
#include<stdio.h>
#include<stdlib.h>
#include<limits.h> // int的极限(极限即极大值极小值)
#include<float.h> // float的极限

int main(void)
{
    printf("%d,%d\n", sizeof(int), sizeof(float)); // int、float都占4字节
    printf("int极大值:%d,int极小值:%d\n", INT_MAX, INT_MIN);
    printf("float极大值:%f,float极小值:%f\n", FLT_MAX, FLT_MIN);
    // %.100f:小数点后100位

    system("pause");
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读