为什么 cout.setf(ios::fixed) 将我的浮点数更改为十六进制?

2023-12-08

我最近遇到了这个与 cout.setf(ios::fixed) 有关的奇怪问题。我花了很长时间才找到原因,并想在这里询问以了解更多信息。

问题是这样的 - 使用 cout.setf(ios::fixed) 时,所有浮点数都被打印为十六进制数字。为什么会出现这种情况? ios::base 的文档似乎并不意味着这会发生(至少对我来说)。我正在使用 g++ 5.3.0,下面粘贴的是一个最小的示例和输出。

   #include <iostream>
   #include <complex>

   using namespace std;

   int main(int argc, char const *argv[])
   {
    complex<double> I(0.0, 1.0);
    double pi = M_PI;

    cout.setf(ios::scientific);
    cout<<" I is "<<I<<endl;
    cout<<" Exp(I Pi) "<<exp(I*pi)<<endl;
    cout<<" Cos(Pi) "<<cos(pi)<<endl<<endl;

    cout.setf(ios::fixed);
    cout<<" I is "<<I<<endl;
    cout<<" Exp(I Pi) "<<exp(I*pi)<<endl;
    cout<<" Cos(Pi) "<<cos(pi)<<endl<<endl;

    return 0;
   }

Output

 I is (0.000000e+00,1.000000e+00)
 Exp(I Pi) (-1.000000e+00,1.224647e-16)
 Cos(Pi) -1.000000e+00

 I is (0x0p+0,0x1p+0)
 Exp(I Pi) (-0x1p+0,0x1.1a62633145c07p-53)
 Cos(Pi) -0x1p+0

See the live sample here

请注意,当我进行更改时,问题就会消失

 cout.setf(ios::fixed);

to

 cout.setf(ios::fixed, ios::floatfield);

因为你告诉它。

From setfcppreference.com 上的文档:

科学的- 使用科学记数法或十六进制记数法(如果与固定结合)生成浮点类型:请参阅std::scientific
fixed- 使用固定表示法或十六进制表示法(如果与科学结合)生成浮点类型:请参阅std::fixed

所以,设置时std::fixed,你需要取消设置std::scientific(这就是你揭露的std::floatfield确实如此,因为std::floatfield is std::scientific|std::fixed|(std::scientific|std::fixed)|0) 以避免使用十六进制表示法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 cout.setf(ios::fixed) 将我的浮点数更改为十六进制? 的相关文章

  • 尝试了解使用服务打开对话框

    我已经阅读了有关使用 mvvm 模式打开对话框的讨论 我看过几个使用服务的示例 但我不明白所有部分如何组合在一起 我发布这个问题寻求指导 以了解我应该阅读哪些内容 以更好地理解我所缺少的内容 我将在下面发布我所拥有的内容 它确实有效 但从我
  • 在 CPP 类中将 C 函数声明为友元

    我需要在 C 函数中使用类的私有变量 我正在做这样的事情 class Helper private std string name public std getName return name friend extern C void in
  • 转换 const void*

    我有一个函数返回一个const void 我想用它的信息作为char 我可以将它投射为 C 风格的罚款 char variable但是当我尝试使用reinterpret cast like reinterpret cast
  • 现代 C++ 编译器是否能够在某些情况下避免调用 const 函数两次?

    例如 如果我有以下代码 class SomeDataProcessor public bool calc const SomeData d1 const SomeData d2 const private Some non mutable
  • 传递 constexpr 对象

    我决定给予新的C 14的定义constexpr旋转并充分利用它 我决定编写一个小的编译时字符串解析器 然而 我正在努力保持我的对象constexpr将其传递给函数时 考虑以下代码 include
  • java中如何重新初始化int数组

    class PassingRefByVal static void Change int pArray pArray 0 888 This change affects the original element pArray new int
  • 无法注册时间触发的后台任务

    对于 Windows 8 应用程序 在 C Xaml 中 我尝试注册后台任务 很难说 但我想我的后台任务已正确注册 但是当我单击调试位置工具栏上的后台任务名称时 我的应用程序停止工作 没有任何消息 我查看了事件查看器上的日志 得到 具有入口
  • 处理右值时的 insert 与 emplace

    std string myString std unordered set
  • 强制初始化模板类的静态数据成员

    关于模板类的静态数据成员未初始化存在一些问题 不幸的是 这些都没有能够帮助我解决我的具体问题的答案 我有一个模板类 它有一个静态数据成员 必须为特定类型显式实例化 即必须专门化 如果不是这种情况 使用不同的模板函数应该会导致链接器错误 这是
  • cpp.react库的C++源代码中奇怪的“->* []”表达式

    这是我在文档中找到的 C 片段cpp react 库 https github com schlangster cpp react implicit parallelism auto in D MakeVar 0 auto op1 in g
  • RestSharp获取序列化输出

    我正在寻找一种方法来访问 AddBody 调用的序列化结果 我正在使用内置的 RestSharp 序列化器 例子 class Foo public string FooField void SendRecord var f new Foo
  • C++中判断unicode字符是全角还是半角

    我正在编写一个终端 控制台 应用程序 该应用程序应该包装任意 unicode 文本 终端通常使用等宽 固定宽度 字体 因此要换行文本 只需计算字符数并观察单词是否适合一行并采取相应的操作 问题是 Unicode 表中的全角字符在终端中占用了
  • 在 C# 中检查 PowerShell 执行策略的最佳方法是什么?

    当你跑步时Get ExecutionPolicy在 PowerShell 中 它得到有效的执行政策 https learn microsoft com en us powershell module microsoft powershell
  • 如何使用 x64 运行 cl?

    我遇到了和这里同样的问题致命错误 C1034 windows h 未设置包含路径 https stackoverflow com questions 931652 fatal error c1034 windows h no include
  • 是否使用 C# 数据集? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 C 中的数据集概念有点困惑 编码 ASP NET 站点 但这并不重要 在我的阅读中 我了解到它们 本质上 用作我的应用程序和我的
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • C++ - 多维数组

    处理多维数组时 是否可以为数组分配两种不同的变量类型 例如你有数组int example i j 有可能吗i and j是两种完全不同的变量类型 例如 int 和 string 听起来您正在寻找 std vector
  • Visual Studio 2015:v120 与 v140?

    仅供参考 Win10 x64 我今天开始尝试 Visual Studio 2015 在弄清楚如何运行 C C 部分后 我尝试加载一个大型个人项目 该项目使用非官方的glsdk http glsdk sourceforge net docs
  • C++:二叉树所有节点值的总和

    我正在准备面试 我被一个二叉树问题困住了 我们如何计算二叉树所有节点中存在的值的总和 优雅的递归解决方案 伪代码 def sum node if node NULL return 0 return node gt value sum nod
  • 在 System.Type 上使用条件断点时出错

    这是函数 public void Init System Type Type this Type Type BuildFieldAttributes BuildDataColumns FieldAttributes 我在第一行设置了一个断点

随机推荐

  • 使用 plm() 和 vcovHC() 进行 Hausman-Taylor 估计器的稳健标准误差估计

    假设我使用以下公式计算 Hausman Taylor 估计量plm带有选项的命令 型号 ht 使用结果 我喜欢获得一个稳健的方差 协方差矩阵 以使推理完全稳健 为此目的vcovHC 使用命令 plm 包的一部分 这是一个最小的例子 data
  • 如何仅选择语料库术语的子集以在 tm 中创建 TermDocumentMatrix

    我有一个巨大的语料库 我只对我预先知道的少数术语的出现感兴趣 有没有办法使用以下方法从语料库创建术语文档矩阵tm包 其中只使用和包含我预先指定的术语 我知道我可以对语料库的结果 TermDocumentMatrix 进行子集化 但由于内存大
  • 立即显示启动画面

    我们正在处理 WinForm 应用程序的缓慢启动问题 它是一个大型应用程序 并且具有许多控制程序集 控制组件是 DevComponent 应用Ngen来防止jit编译 但加载时间只是减少了一点 该应用程序有一个启动屏幕 但它仅在应用程序启动
  • MVVM EventToCommand 未找到

    大家好 我正在尝试在列表框的项目中实现点击效果 但我不断收到此错误 未找到类型 cmd EventToCommand 验证您没有缺少程序集引用并且所有引用的程序集均已构建
  • 调整画廊大小的脚本

    我想要调整整个 Galleria div 的大小 并调整使用 Galleria 脚本动态生成的所有图像的大小 到目前为止我有 window resize function var h window height var galleriaHe
  • 为什么我们在 CMPXCHG 之前需要锁定前缀[重复]

    这个问题在这里已经有答案了 为什么在intel架构中CMPXCHG之前需要锁定前缀 请参阅参考http courses engr illinois edu ece390 archive spr2002 books labmanual ins
  • 无法在 Weblogic 12c 上部署简单的 Spring Boot 应用程序

    我正在尝试在 weblogic 12c 上部署一个简单的 spring boot web 应用程序 它在部署过程中抛出以下错误 但在 Tomcat 中工作 我遵循的示例代码来自https github com spring guides t
  • Google App Engine - 跟踪使用了哪些索引

    我有一个 App Engine Python Django 应用程序 该应用程序在过去一年中不断发展和修改 目前有 175 个索引 问题是我还没有彻底清理 删除不再需要的索引 现在 我不确定哪些索引是活跃的 哪些基本上是死的 但我猜测大约
  • 如何在 javax.ws.rs.client 中为客户端使用连接池

    我正在尝试使用与服务器通信https service 我可以沟通 但需要 2 秒响应时间 现在 我想减少每个请求的 SSL 握手时间 所以 我想缓存或保持连接活动或创建池连接 有什么建议 My Code static SslConfigur
  • 跨类变量在 PyQt GUI 中缩放绘图

    我正在制作一个 GUI 它有几个用户输入框和一个绘图 它将使用输入框中的因子来缩放数据 GUI 将需要一个应用按钮和一个导出按钮 我使用 PyQt5 作为 GUI 使用 Matplotlib 进行绘图 我的方法是为绘图和输入框创建单独的 Q
  • R 中矩阵到长格式数据帧的最快转换

    我有兴趣找到最快的方法来转换matrix转换为长格式data frame 我在这里比较了实现此目的的三种解决方案 但我想知道是否有更快的方法 例如使用data table exist 这是我比较的三种方法的可重现代码 Generate ma
  • 如何检查一个单词是否在 cocoa-touch 的英语词典中定义?

    我正在尝试为 IOS 制作一个填字游戏应用程序 但我不知道如何检查字符串是否是有效的英语单词 我怎样才能检查它 有没有API或在线工具可以检查它 提前致谢 在 iOS5 中使用以下命令很容易做到UIReferenceLibraryViewC
  • 如何包含引号字符作为路由参数?收到“路径中的非法字符”消息

    我有一个存在于所有页面上的搜索框 用户可以输入文本 然后单击搜索 最终会出现在搜索页面上 并显示结果 单击搜索时 包含文本框的表单将发送到以下路由 http localhost 2010 search my 20search 20term
  • 如何使用 app.telemetry 页面速度监视器捕获 Selenium-IDE 中的页面加载时间

    我正在尝试使用 Selenium IDE 并使用名为 app telemetry 页面速度监视器的插件进行快速而脏的页面加载测试 该工具在 Firefox 的工具栏中提供了显示 0 36 为红色 但我不确定如何通过 Selenium IDE
  • 如何重用另一个 bash 文件中定义的函数?

    我有一个经常使用的实用函数 assertReturnStatus 我想在实用程序文件中定义它 utility sh 并在其他 bash 脚本中重用它 如何重用另一个 bash 脚本文件中的函数 谢谢 您需要将第一个文件 导入 第二个文件 请
  • Android - 从 EditText inputType="time" 获取时间

    I have EditText在我的 XML 文件中
  • 复制文件太晚了

    我需要在单击 MSI 后立即复制文件 我目前正在使用 CopyFiles 函数 但它的速度不够快 我是否需要自己的自定义操作 或者有没有办法在显示任何 UI 之前移动它 Thanks 使用 reg 文件和 ini 文件完成的任何操作通常都可
  • 蓝牙文件夹,不同手机路径不同

    我发现不同版本的android将接收到的蓝牙文件放在不同的文件夹中 例如 我的一部测试手机正在运行android 2 2将文件保存到此路径 mnt sdcard Downloads Bluetooth 我的第二部测试手机正在运行androi
  • 更新到 Java 6 Update 14 后出现 JVM 错误

    在更新了一些服务器以在 Java 6 update 14 上运行后 我遇到了一些奇怪的错误 可能每天一次 错误类似于 A fatal error has been detected by the Java Runtime Environme
  • 为什么 cout.setf(ios::fixed) 将我的浮点数更改为十六进制?

    我最近遇到了这个与 cout setf ios fixed 有关的奇怪问题 我花了很长时间才找到原因 并想在这里询问以了解更多信息 问题是这样的 使用 cout setf ios fixed 时 所有浮点数都被打印为十六进制数字 为什么会出