C语言-单精度和双精度浮点型

文章目录

  • 一、遇到的问题
  • 二、解决方案
  • 三、问题根因
    • float和double的区别:
  • 总结-浮点数


一、遇到的问题

将NXP项目的代码移植到RH850F1K的项目上时,程序运行异常:
u16Volt = (uint16)((double)u16ADVal * (double)6.3)
执行到这一行程序就跑飞了……

二、解决方案

①u16Volt = (uint16)((float)u16ADVal * (float)6.3)
②u16Volt = (uint16)(u16ADVal * 630 /100)——推荐使用

三、问题根因

RH850 F1K仅支持单精度浮点型运算
FPU

float和double的区别:

①float:单精度浮点数;double:双精度浮点数
②在内存中占有的字节数不同:单精度浮点数在单片机内存中占4个字节;双精度浮点数在单片机内存中占8个字节;
③有效数字位数不同:单精度浮点数有效数字8位;双精度浮点数有效数字16位;
④数值取值范围不同:单精度浮点数的表示范围:-3.40E+38~3.40E+38; 双精度浮点数的表示范围:-1.79E+308 ~1.79E+308;
⑤在程序中处理速度不同:一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快
⑥如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转。

float a = 1.23;   //error,编译报错
float a = (float)1.23;   //定义单精度浮点型变量
float f = 1.23f;  // 定义单精度浮点型变量
double d = 1.23;  // 定义双精度浮点型变量,可以不加"d"或"D"后缀

总结-浮点数

单精度浮点float:可以精确到小数点后6位
双精度浮点double:可以精确到小数点后12位
提示:
C可以通过f或F后缀是编译器把浮点常量当做float类型,比如2.3f和9.11E9F。
l或L后缀使一个数字成为long double类型,比如54.3l和4.32e4L。建议使用L后缀,因为字母l和数字1容易混淆
没有后缀的浮点常量为double类型。例:sizeof(1.9) = 8;

浮点二进制转换工具
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/845910.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue3可以快速简单的操作dom元素了

再也不需要用document.getElementById("myElement")的这种方式来对dom元素进行操作了 我们需要使用模板引用——也就是指向模板中一个 DOM 元素的 ref。我们需要通过这个特殊的 ref attribute 来实现模板引用&#xff1a; <script setup> import { ref, onMo…

wafw00f一键检测目标防火墙信息(KALI工具系列十五)

目录 1、KALI LINUX简介 2、wafw00f工具简介 3、在KALI中使用lbd 3.1 查看可检测的防火墙对象 3.2 目标防火墙种类检测 3.3 目标防火墙详细信息检测 3.4 将检查结果输出 4、总结 1、KALI LINUX简介 Kali Linux 是一个功能强大、多才多艺的 Linux 发行版&#xff0c;广…

最好的电脑数据恢复软件是什么

由于硬件故障、恶意软件攻击或意外删除而丢失文件可能会造成巨大压力。数据丢失会扰乱日常运营&#xff0c;造成宝贵的业务时间和资源损失。在这些情况下&#xff0c;数据恢复软件是检索丢失或损坏数据的最简单方法。 数据恢复软件何时起作用&#xff1f; 对于 Windows 数据恢…

vue3组件传值---vue组件通过属性,事件和provide,inject进行传值

通过属性传值&#xff08;父传子&#xff09; vue的组件具有props自建属性&#xff08;自定义名称&#xff0c;类似于class&#xff0c;id的属性&#xff09;&#xff0c;通过这个属性&#xff0c;父组件可以向子组件传递参数&#xff0c;从而实现组件之间的信息传递&#xff0…

Django模块连接redis

1 安装django-redis pip3 install django-redis 2、配置settings.py CACHES{"default":{"BACKEND":"django_redis.cache.RedisCache","LOCATION":"redis://"redis_host":"redis_port, #redis主机…

CSDN UI 2024.06.01

当我们的栏目很多的时候&#xff0c;通过【置顶】来排列顺序是很麻烦的&#xff0c;应该加一列&#xff0c;设置优先级别。太难用了 或者加两个按钮【上移】 【下移】

Spring Boot(七十六):集成Redisson实现布隆过滤器(Bloom Filter)

之前在redis(17):什么是布隆过滤器?如何实现布隆过滤器?中介绍了布隆过滤器,以及原理,布隆过滤器有很多实现和优化。之前我们讲解了由 Google 开发著名的 Guava 库实现布隆过滤器(Bloom Filter)。下面我们讲解基于Redisson实现布隆过滤器。 1 Redisson简介 Redisson…

正缘画像 api数据接口

测测正缘画像&#xff0c;相貌特征&#xff0c;高矮胖瘦&#xff0c;黑白美丑&#xff0c;对方何许人也&#xff0c;远嫁近娶&#xff0c;何方定居&#xff0c;家庭观&#xff0c;持家爱家&#xff0c;生活质量&#xff0c;富裕贫穷&#xff0c;健康情况&#xff0c;测算结果仅…

极验4点选逆向 JS逆向分析 最新版验证码

目录 声明&#xff01; 一、请求流程分析 二、加密参数w与payload 三、参数w生成位置 四、结果展示&#xff1a; 原创文章&#xff0c;请勿转载&#xff01; 本文内容仅限于安全研究&#xff0c;不公开具体源码。维护网络安全&#xff0c;人人有责。 声明&#xff01; 本文章…

代码随想录算法训练营第四十五天|1049. 最后一块石头的重量 II、494. 目标和、474.一和零

代码随想录算法训练营第四十五天 1049. 最后一块石头的重量 II 题目链接&#xff1a;1049. 最后一块石头的重量 II 将所有石头分成2组&#xff0c;两组的重量尽可能相等&#xff0c;差值最小。 计算石头总重&#xff0c;再除以2就是目标重量&#xff0c;求要达到该重量能装的…

java —— Comparable 接口和 Comparator 比较器

一、Comparable 接口 当一个自定义的类&#xff0c;比如 Student 需要存储在 TreeSet 集合当中&#xff0c;可以为 Student 实现 Comparable 接口。因为 TreeSet 集合内部的元素是自然排序&#xff0c;而系统根本不知道自定义的类如何排序&#xff0c;所以需要我们人为地定义排…

升级笔记本

笔记本型号参数&#xff1a;Acer V5-573G CPU:I5 4200U 1.6GHz 最高2.6GHz 双核四线程 内存&#xff1a;4G 1600M DDR3L SO-DIMM 显卡&#xff1a;独立显卡NVIDIA GeForce GT 750M 硬盘&#xff1a;1T 5400转 屏幕&#xff1a;15.6英寸 1920*1080 【Acer V5-573G-54204G1…

WIFI 万[néng]钥匙 v5.0.10/v4.9.80 SVIP版!

WiFi Master Key v5.0.10/v4.9.80 WIFI万[Nng]钥匙APP是一款专业的网络连接工具&#xff0c;设计宗旨在于为用户提供方便快捷的WiFi接入方案。本应用集成了覆盖全国的大量免费WiFi热点信息&#xff0c;确保用户能够在不同地区快速而稳定地连接到互联网。此外&#xff0c;该应用…

atcoder350,351,352,353,354,355期部分题解

声明&#xff1a;有些题感觉已经说到很明白了&#xff0c;就先不写代码了&#xff0c;有空会补上 目录 350D: new friend 350E: toward 0 351D:Grid and Magnet 352D:permutation subsequence 353C: sigma problem 353D: another sigma problem 354C: atcoder magics …

Java面经(附源码分析)

String、StringBuffer和StringBuilder的区别&#xff1a; 首先String内部的字符数组是使用final修饰&#xff0c;无法修改&#xff0c;每次修改其实是创建一个新的String对象&#xff0c;为了高效字符串操作&#xff0c;引入了StringBuffer和StringBuilder。但StringBuffer的线…

神经网络与深度学习——第6章 循环神经网络

本文讨论的内容参考自《神经网络与深度学习》https://nndl.github.io/ 第6章 循环神经网络 给网络增加记忆能力 延时神经网络 有外部输入的非线性自回归模型 循环神经网络 简单循环网络 循环神经网络的计算能力 循环神经网络的通用近似定理 图灵完备 应用到机器学习 序列到类…

python实现描述统计

数据基础情况 import numpy as np import pandas as pd import matplotlib.pyplot as pyplot pd.options.display.max_rows 10##最多输出10行数据 data_url https://cf-courses-data.s3.us.cloud-object-storage.appdomain.cloud/IBMDeveloperSkillsNetwork-ST0151EN-SkillsN…

[C/C++] -- Libcurl开发

libcurl 是一个功能强大的 C 语言库&#xff0c;用于实现各种网络传输协议的客户端功能。它是 Curl 工具的核心&#xff0c;并提供了一个简单、灵活、高效的 API&#xff0c;允许开发人员在他们的应用程序中轻松地执行网络操作。 以下是 libcurl 的一些主要特点和功能&#xf…

数据整理操作及众所周知【数据分析】

各位大佬好 &#xff0c;这里是阿川的博客&#xff0c;祝您变得更强 个人主页&#xff1a;在线OJ的阿川 大佬的支持和鼓励&#xff0c;将是我成长路上最大的动力 阿川水平有限&#xff0c;如有错误&#xff0c;欢迎大佬指正 Python 初阶 Python–语言基础与由来介绍 Python–…

计算机组成原理·存储系统疑点归纳

组原这门课有点学得不是很懂&#xff0c;现在快考试了&#xff0c;挑几个做错了的题分析、记录一下。 N o . 1 \mathit{No}.1 No.1  x x x、 y y y 为定点整数&#xff0c;其格式为 1 1 1 位符号位、 n n n 位数值位&#xff0c;若采用补码一位乘法实现乘法运算&#xff0c;则…