将双精度型转换为整数何时是未定义的行为

2024-01-12

所以如下:

double t = 244.233;
int a = (int) t;

不是未定义的行为,因为 244 可以容纳在里面int我做对了吗? 否则,如果它是更大的值而不是 244,它不适合 int 这将是未定义的,我做对了吗?

我更感兴趣的是 C 是如何做到这一点的。但是这种情况下与 C++ 有区别吗?


来自 [conv.fpint]:

浮点类型的纯右值可以转换为整数类型的纯右值。转换截断; 也就是说,小数部分被丢弃。如果无法截断值,则行为未定义 以目标类型表示。

例如,将 66666.66 转换为int16_t将是未定义的行为,但转换66.66就很好了。

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

将双精度型转换为整数何时是未定义的行为 的相关文章

  • 代码 GetAsyncKeyState(VK_SHIFT) & 0x8000 中的这些数字是什么?它们是必不可少的吗?

    我试图在按下按键的简单动作中找到这些数字及其含义的任何逻辑解释 GetAsyncKeyState VK SHIFT 0x8000 可以使用哪些其他值来代替0x8000它们与按键有什么关系 GetAsyncKeyState 根据文档返回 如果
  • GetType() 在 Type 实例上返回什么?

    我在一些调试过程中遇到了这段代码 private bool HasBaseType Type type out Type baseType Type originalType type GetType baseType GetBaseTyp
  • 为什么pow函数比简单运算慢?

    从我的一个朋友那里 我听说 pow 函数比简单地将底数乘以它的指数的等价函数要慢 例如 据他介绍 include
  • ComboBox DataBinding 导致 ArgumentException

    我的几个类对象 class Person public string Name get set public string Sex get set public int Age get set public override string
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • IdentityServer 4 对它的工作原理感到困惑

    我阅读和观看了很多有关 Identity Server 4 的内容 但我仍然对它有点困惑 因为似乎有很多移动部件 我现在明白这是一个单独的项目 它处理用户身份验证 我仍然不明白的是用户如何注册它 谁存储用户名 密码 我打算进行此设置 Rea
  • 如何填充 ToolStripComboBox?

    我发现它很难将数据绑定到ToolStripComboBox 好像没有这个ValueMember and DisplayMember特性 怎么绑定呢 访问toolstripcombobox中包装的组合框并访问其ValueMember Disp
  • 如何使用 Castle Windsor 将对象注入到 WCF IErrorHandler 实现中?

    我正在使用 WCF 开发一组服务 该应用程序正在使用 Castle Windsor 进行依赖注入 我添加了一个IErrorHandler通过属性添加到服务的实现 到目前为止一切正常 这IErrorHandler对象 一个名为FaultHan
  • 为什么在 WebApi 上下文中在 using 块中使用 HttpClient 是错误的?

    那么 问题是为什么在 using 块中使用 HttpClient 是错误的 但在 WebApi 上下文中呢 我一直在读这篇文章不要阻止异步代码 https blog stephencleary com 2012 07 dont block
  • Python 属性和 Swig

    我正在尝试使用 swig 为一些 C 代码创建 python 绑定 我似乎遇到了一个问题 试图从我拥有的一些访问器函数创建 python 属性 方法如下 class Player public void entity Entity enti
  • 识别 Visual Studio 中的重载运算符 (c++)

    有没有办法使用 Visual Studio 快速直观地识别 C 中的重载运算符 在我看来 C 中的一大问题是不知道您正在使用的运算符是否已重载 Visual Studio 或某些第三方工具中是否有某些功能可以自动突出显示重载运算符或对重载运
  • 如何在 Qt 应用程序中通过终端命令运行分离的应用程序?

    我想使用命令 cd opencv opencv 3 0 0 alpha samples cpp cpp example facedetect lena jpg 在 Qt 应用程序中按钮的 clicked 方法上运行 OpenCV 示例代码
  • 为什么我的单选按钮不起作用?

    我正在 Visual C 2005 中开发 MFC 对话框应用程序 我的单选按钮是 m Small m Medium 和 m Large 它们都没有在我的 m Summary 编辑框中显示应有的内容 可能出什么问题了 这是我的代码 Pizz
  • 保护 APK 中的字符串

    我正在使用 Xamarin 的 Mono for Android 开发一个 Android 应用程序 我目前正在努力使用 Google Play API 添加应用内购买功能 为此 我需要从我的应用程序内向 Google 发送公共许可证密钥
  • C++ 中的双精度型数字

    尽管内部表示有 17 位 但 IEE754 64 位 浮点应该正确表示 15 位有效数字 有没有办法强制第 16 位和第 17 位为零 Ref http msdn microsoft com en us library system dou
  • OpenGL:仅获取模板缓冲区而没有深度缓冲区?

    我想获取一个模板缓冲区 但如果可能的话 不要承受附加深度缓冲区的开销 因为我不会使用它 我发现的大多数资源表明 虽然模板缓冲区是可选的 例如 排除它以利于获得更高的深度缓冲区精度 但我还没有看到任何请求并成功获取仅 8 位模板缓冲区的代码
  • 可访问性不一致:参数类型的可访问性低于方法

    我试图在两个表单之间传递一个对象 基本上是对当前登录用户的引用 目前 我在登录表单中有一些类似的内容 private ACTInterface oActInterface public void button1 Click object s
  • 如何在richtextbox中使用多颜色[重复]

    这个问题在这里已经有答案了 我使用 C windows 窗体 并且有 richtextbox 我想将一些文本设置为红色 一些设置为绿色 一些设置为黑色 怎么办呢 附图片 System Windows Forms RichTextBox有一个
  • 为boost python编译的.so找不到模块

    我正在尝试将 C 代码包装到 python 中 只需一个类即可导出两个函数 我编译为map so 当我尝试时import map得到像噪音一样的错误 Traceback most recent call last File
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str

随机推荐

  • 在 GO 中使用 RSA-SHA 进行签名和解码

    我正在尝试签署一个字符串 然后用公钥验证它 我的验证结果为空 我究竟做错了什么 package main import crypto crypto rand crypto rsa crypto sha256 crypto x509 enco
  • 如何在 SwiftUI macOS 中创建急救人员

    我正在尝试制作我的文本字段 NSViewRepresentable包裹NSTextField 出现时的第一个响应者 我已经测试了很多答案thread https stackoverflow com questions 56507839 sw
  • 使用 VBA 隐藏数据透视表

    如何使用 VBA 隐藏数据透视表 我尝试访问 PivotTables index Visible 但没有Visible财产为PivotTable目的 如果用户更改某些复选框 我需要隐藏这些数据透视表 也许我可以将它们隐藏在白盒子后面 但在我
  • 如何将 ListItemCollection (dropdownlist.items) 转换为字典

    如何转换ListItemCollection DropDownList items to a Dictionary
  • 如何使用 IMAP 和 PHP 保存电子邮件中的图像附件?

    我已经成功编写了连接到我的邮件服务器并检索所有新邮件的标头和正文的脚本 我想更进一步检测附件是否存在 仅图像 如果存在 则下载到服务器 如何使用 PHP 和 IMAP 来实现这一点 提前致谢 KimNyholm 发布了一组 imap 客户端
  • 使用 ffmpeg 逐帧写入视频

    我正在尝试使用 ffmpeg 逐帧编写视频 如下所述 http zulko github io blog 2013 09 27 read and write video frames in python using ffmpeg http
  • 转换 Spark 数据框中的日期模式

    我在 Spark 数据框中有一列字符串数据类型 日期采用 yyyy MM dd 模式 我想以 MM dd yyyy 模式显示列值 我的数据是 val df sc parallelize Array steak 1990 01 01 2000
  • 如何使用 python 从 xml 中提取特定数据?

    我对 python 比较陌生 我一直在尝试通过实践方法学习Python 我通过做euler项目学习了c c 现在我正在学习如何从文件中提取数据 我已经掌握了从简单文本文件中提取数据的窍门 但我有点陷入 xml 文件中 我试图做的一个例子 我
  • Django -vs- Grails -vs-?

    我想知道是否有类似 Django 的简单 Web 应用程序开发与良好的部署 调试和其他工具相结合 Django 是一个非常高效的框架 用于构建内容丰富的网站 与 Java 中的一些怪物相比 这是我尝试过的最好的 呼吸新鲜空气 然而它是用 P
  • 用地址而不是数字填充队列

    我想知道是否可以将地址而不是其内容推送到队列中 例如 我有一个二维数组 我正在围绕它移动 我想记录我去过的地方 但我不一定关心这些地方的内容 是的 您只需将队列声明为指针队列 例如 int 或您正在使用的任何类型 这是代码 include
  • 如果浮点范围更大,通过浮点的往返是否始终定义行为?

    假设我有两种算术类型 一种是整数类型 I 和一个浮点数 F 我还假设std numeric limits i max 小于std numeric limits i
  • 更新现有的 Yaml 文件

    我想更新我现有的user yaml文件而不擦除其他对象或属性 我已经用谷歌搜索了两天寻找解决方案 但没有运气 实际输出 name Test User age 30 address line1 My Address Line 1 line2
  • M1 MBP Rails db:create 引发 msgpack 错误

    您好 我是 Ruby on Rails 新手 当我跑步时rails db create 在M1 MBP上运行时出现以下错误 Library Ruby Gems 2 6 0 gems msgpack 1 4 2 lib msgpack rb
  • (简单)允许 24:00:00 和 00:00:00 作为输入的日期格式

    我已经寻找这个有一段时间了 到目前为止还没有成功 你知道是否有一个 DateFormat 这样的类 它允许我使用 00 00 00 和 24 00 00 作为输入参数 它们都是午夜 但是当调用 getHour 时 结果我会得到 0 或 24
  • 避免调用 Floor()

    我正在编写一段代码 需要处理不一定在 0 到 1 范围内的 uvs 2D 纹理坐标 例如 有时我会得到 u 分量为 1 2 的 uv 为了解决这个问题 我正在实现一个包装 通过执行以下操作来导致平铺 u floor u v floor v
  • gcc -save-temps:如何指定目录

    是否可以指定输出目录 save temps https gcc gnu org onlinedocs gcc Developer Options html Developer Options文物 我知道我可以做一个mv之后但想知道是否有办法
  • NuGet Uninstall.ps1 - 删除项目引用

    因此 在我的 Install ps1 中 我可以添加如下引用 param installPath toolsPath package project project Object References Add YourDLL 如何在 Pow
  • 如何在 R 中查找和求和多列

    假设我有 2 个数据帧 结构如下 GROUPS P1 P2 P3 P4 123 213 312 231 345 123 213 567 个人结果 ID SCORE 123 23 213 12 312 11 213 19 345 10 567
  • 让 Xcode 识别不带“.h”扩展名的 C++ 头文件 (OpenSceneGraph)

    OpenSceneGraph 使用头文件没有 h 扩展名 http www openscenegraph org projects osg wiki Support FAQ WhydonttheOSGheaderfileshavea hor
  • 将双精度型转换为整数何时是未定义的行为

    所以如下 double t 244 233 int a int t 不是未定义的行为 因为 244 可以容纳在里面int我做对了吗 否则 如果它是更大的值而不是 244 它不适合 int 这将是未定义的 我做对了吗 我更感兴趣的是 C 是如