当前位置: 首页 > article >正文

C语言基本知识2.6%g的用法

  1.  
    • 在 C 语言中,%g(对应的还有%G%G%g的区别仅在于输出的字母是大写还是小写)是用于格式化输出浮点数的格式控制符。它会根据要输出的浮点数的值自动选择合适的输出格式,要么是小数形式(定点数形式),要么是科学计数法形式。其选择规则是基于输出的精度和数值的大小。具体来说,如果指数部分小于 -4 或者大于等于精度指定的值(默认精度是 6),则使用科学计数法形式;否则,使用小数形式。
    • %g格式控制符的输出示例
    • #include <stdio.h>
      int main() {
          double num1 = 123.456;
          double num2 = 0.0000123456;
          double num3 = 1234567.0;
          printf("%g\n", num1);
          printf("%g\n", num2);
          printf("%g\n", num3);
          return 0;
      }
      

      在这个例子中,num1(值为123.456)会以小数形式输出,结果为123.456num2(值为0.0000123456)因为指数部分小于 -4,所以会以科学计数法形式输出,结果为1.23456e - 05num3(值为1234567.0)因为其值较大,超过了默认精度对应的范围,所以也会以科学计数法形式输出,结果为1.23457e+06(注意这里会进行四舍五入,因为默认精度是 6 位有效数字)。

    • 精度控制与%g
      • 可以通过在%g前面加上数字来指定精度,例如%.5g表示保留 5 位有效数字。精度指定了有效数字的位数,这会影响%g是采用小数形式还是科学计数法形式输出,以及具体的输出内容。
      • 示例代码如下:
    • 对于num1,输出为123.46(保留 5 位有效数字,采用小数形式并四舍五入);对于num2,输出为1.2346e - 05(保留 5 位有效数字,采用科学计数法形式并四舍五入)。
    • %g%f%e的比较
      • %f格式控制符总是以小数形式(定点数形式)输出浮点数,并且可以通过指定小数点后的位数来控制精度,例如%.2f会输出小数点后有 2 位数字的小数。
      • %e(或%E)格式控制符总是以科学计数法形式输出浮点数,例如1.23456e+02
      • %g结合了%f%e的特点,会根据数值自动选择更合适的输出形式,这使得它在输出浮点数时更加灵活,特别是当需要输出的浮点数范围较广时。

http://www.kler.cn/a/421532.html

相关文章:

  • rabbitmq 安装延时队列插件rabbitmq_delayer_message_exchange(linux centOS 7)
  • spark-sql配置教程
  • 【MySQL 进阶之路】索引的使用
  • ElasticSearch easy-es 聚合函数 group by 混合写法求Top N 词云 分词
  • 攻防世界-fileclude-文件包含
  • http(请求方法,状态码,Cookie与)
  • 【AI系统】LLVM 前端和优化层
  • 大数据新视界 -- 大数据大厂之 Hive 数据压缩:优化存储与传输的关键(上)(19/ 30)
  • Navicat连接SQL Server及SpringBoot连接SQL Server(jtds)
  • ESP32-S3模组上跑通ES8388(13)
  • Scala的模式匹配(6)
  • 【C++】LeetCode:LCR 026. 重排链表
  • Android 使用OpenGLES + MediaPlayer 获取视频截图
  • 华为服务器使用U盘重装系统
  • JavaScript(一)
  • 【开发语言】层次状态机(HSM)介绍
  • 【学习Go编程】
  • 数据结构有哪些?
  • Redis+Caffeine 多级缓存数据一致性解决方案
  • 杂七杂八的网络安全知识
  • 【iOS】设计模式的六大原则
  • qt QGraphicsRotation详解
  • 分层架构 IM 系统之 Router 架构分析
  • Elastic Cloud Serverless:深入探讨大规模自动扩展和性能压力测试
  • 重学设计模式-工厂模式(简单工厂模式,工厂方法模式,抽象工厂模式)
  • 数据结构—队列