帧同步的float double浮点型问题

发布时间:2026/10/31 17:27:23
帧同步的float double浮点型问题 double类型什么时候可以直接比较相等?#include stdio.h #includefloat.h #include math.h int main() { float a = 1.0; // 因为整数位就表示好了。指数位都为0 所以整数的时候二进制为相等 printf("%d %d 值 %f %f %f\n", a == 1, a == 1.0, a, 1, 1.0); // 1, 1 1是代表相等 a = 0.1; printf("%d %d 值 %f %f %f\n", a == 0.1, a == 0.1f, a , 0.1, 0.1f); // 0, 0 float a1 = 0.3; float b1 = 0.4; float c1 = a1 + b1; printf("%d %d 值 %f %f %f \n", c1 == 0.7, c1 == 0.7f, c1, 0.7, 0.7f); // 0 printf("%d \n", fabs(c1 - 0.7) FLT_EPSILON); // DBL_EPSILON float a2 = 10.5; float a3 = 0.5; float c3 = a2 - a3; printf("%d \n", c3 == 10); // 1 变成整数了,就可以相等了 } /* 1 1 值 1.000000 1.000000 1.000000 0 1 值 0.100000 0.100000 0.100000 0 0 值 0.700000 0.700000 0.700000 1 1 */当然不同的编译,执行结果不同,,但是以下可以保证1.简单的整数值, 如果两个浮点数都是整数值(没有小数部分),并且它们的值相同,那么可以直接使用"=="运算符进行比较。这是因为整数的表示方式是精确的,不会存在舍入误差) 不涉及到指数位.,直接比较二进制是相等.但是大于52bit表示整数,还是有可能会不相等)dou

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询