单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.5 浮点数

本文介绍了C语言中浮点数的数据类型,包括float、double和longdouble,以及它们在内存中的占用情况。浮点数用于表示小数或实数,其精度和内存占用不同于整数。在32位MCU中,float占4字节,double和longdouble均占8字节。编程时需注意浮点数的运算正确性和内存管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C语言中的浮点数是一种数据类型,用于存储小数或实数。

C语言中采用float和double关键字来定义小数,float称为单精度浮点型,double称为双精度浮点型,long double更长的双精度浮点型。

与整数不同,浮点数不是由二进制数组成的,而是由有限个二进制位组成的数。这些位可以表示一些随机的值,如误差、有效数字、符号位等。
在C语言中,浮点数的类型通常由以下部分组成:
1. 点数类型:用于表示浮点数的位数。点数类型由整数类型决定,可以是int、long等。
2. 点数精度:用于表示浮点数的精度。点数精度由指定精度值决定,可以是8、16、32或64位。
3. 数据对齐方式:用于保证浮点数数据的正确性。数据对齐方式由编译器决定,可以是常规对齐(默认对齐方式)或字节对齐。
在C语言中,浮点数的表示方法与操作方式如下:
1. 表示方法:浮点数可以表示为两个整数,一个整数表示点数的位数,另一个整数表示点数的值。
2. 操作方式:可以与浮点数进行各种运算,如加法、减法、乘法、除法、取模、求和等。
需要注意的是,由于浮点数的表示方法与操作方式比较灵活,因此编写正确性高的浮点数程序需要仔细考虑数据的正确性和操作方式的正确性。在编写程序时,建议遵循一些基本原则,如使用统一的表示方法、遵循数据对齐方式、避免溢出等。

占用内存的情况。

#include <stdio.h>

#include "stm32f10x.h"



void printSizeOfFloatType(void)

{

    int sizeofFloat = sizeof(float);

    int sizeofDouble = sizeof(double);

    int sizeofLongDouble = sizeof(long double);

   

    printf("sizeof float is %d\n",sizeofFloat);//sizeof float is 4

    printf("sizeof double is %d\n",sizeofDouble);//sizeof double is 8

    printf("sizeof long double is %d\n",sizeofLongDouble);//sizeof long double is 8,this is a 32bit Mcu

}



int main(void)

{

    uint32_t syscount;

   

    SystemInit();

   

    printf("Hello World");

   

    syscount = 0;

     

    while (1)

    {

           printf("This is the %d times of the cricle",syscount);

           printSizeOfFloatType();

           syscount++;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值