C/C++ 中的整数除法会遇到精度损失问题吗?

2023-12-02

假设我们有三个整数(int、long、long long、unsigned int 等)变量a, b, c。通常情况下,执行

c = a / b;

将导致分数截断。但是,c 有可能得到错误的值吗?

我不是在谈论 a / b 可能超出范围c's type.相反,我谈论的是如何在 C 中实现整数除法。a / b先生成一个float类型的中间结果,然后将中间值截断?

如果是这样,我想知道中间值的精度损失是否会导致 c 值不正确。例如,假设 a / b 的精确值为 2,但不知何故中间结果为1.9999...,因此 c 最终会得到错误的值 1。这种情况会发生吗?或者如果预期值在 c 类型的范围内,整数除法是否总是会得到正确的值?


是否先执行a/b会生成float类型的中间结果

就语言而言,没有中间结果。

如果期望值在 c 类型的范围内,整数除法是否总是得到正确的值?

Yes.

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

C/C++ 中的整数除法会遇到精度损失问题吗? 的相关文章

  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • 当从finally中抛出异常时,Catch块不会被评估

    出现这个问题的原因是之前在 NET 4 0 中运行的代码在 NET 4 5 中因未处理的异常而失败 部分原因是 try finallys 如果您想了解详细信息 请阅读更多内容微软连接 https connect microsoft com
  • 运行 Azure 函数时路径中存在非法字符

    我有一个 Azure 函数 它已经运行了一整天 大约二十分钟前 当我尝试单击 Visual Studio 中的运行按钮时 开始出现错误 它成功构建 然后在启动时显示并错误 仅指出 路径中的非法字符 Visual Studio 我检查了 gi
  • 给定两个不同类型的对象及其在内存中的相对位置,我可以从指向另一个对象的指针派生出指向另一个对象的指针吗?

    在下面的示例中 我们有两个不同类型的对象 但恰好在内存中彼此相邻 struct X alignas long int val 1 struct Y long val 2 std byte buf new std byte sizeof X
  • SWIG Python C++ 结构作为输入/输出参数

    老实说 我在这个网站上读了很多关于struct主题 但我需要你的帮助 我有 C 风格的结构 struct Time uint16 t year year with four digits like 2016 uint8 t month 1
  • 将海量列表传递给 MVC3 中的 View

    ASP NET MVC 新手 现在使用 MVC3 和 Razor 我对将对象从控制器传递到视图感到困惑 具体来说 我正在尝试 MVC3 和 Rob Conery 有趣的 Massive http blog wekeroad com help
  • 如何将列表复制到数组

    我有导游名单 List
  • typedef 指针是个好主意吗?

    我查看了一些代码 发现约定是将指针类型转换为 SomeStruct into typedef SomeStruct pSomeStruct 这有什么优点吗 当指针本身可以被视为 黑匣子 时 即其内部表示应该与代码无关的一段数据时 这可能是合
  • 空 catch 与 try-catch 语句中的“catch Exception”相同吗?

    try catch Exception 我可以写吗 try catch 这在 C NET 3 5 中可以吗 代码看起来更好 但我不知道是否相同 他们是not一样的 catch Exception 将仅捕获托管异常 catch 也会捕获非 C
  • Swagger 不生成 swagger.json

    我在一个解决方案中拥有 asp net core MVC 项目和单独的 WebApi 项目 我按照 github 上的文档添加了 swagger 这是我的 mvc 项目的 Startup cs public void ConfigureSe
  • 为什么 C# 中 Encoding.ASCII != ASCIIEncoding.Default ?

    为什么 C 中 Encoding ASCII ASCIIEncoding Default 这是因为ASCIIEncoding源自于Encoding where Default定义为
  • 忽略正则表达式匹配的空格

    我需要匹配 8 个或更多数字 其序列可以包含空格 例如 以下所有内容都是有效匹配 12345678 1 2345678 12 3 45678 1234 5678 12 34567 8 1 2 3 4 5 6 7 8 此刻我有 d 8 但这只
  • 如何使用 ASP.NET 和 jQuery 返回 JSON

    我不知道如何用我的代码返回 JSON 数据 JS function ajax type POST url Default aspx GetProducts data contentType application json charset
  • 如何将位写入文件?

    如何使用 c net 将位 而不是字节 写入文件 我很坚持它 Edit 我正在寻找一种不同的方法 将每 8 位写为一个字节 一次可以写入的最小数据量是一个字节 如果您需要写入单独的位值 例如 二进制格式需要 1 位标志 3 位整数和 4 位
  • 从数据表中删除列

    我有一个包含 20 列的数据表 但我不需要当前处理的所有列 除了 5 列 所以我执行了以下操作来删除列 List
  • 将不同的单词保存到链接列表中

    基本上我这里有两个链接列表 列表和不同的 有几组单词之前已保存到 列表 结构中 我要编写一个程序 它会找到不同 唯一的单词并将其保存到 不同 结构中 这是我到目前为止根据我的指针概念得到的结果 然而 当我尝试打印 distinct 时 程序
  • ASP.NET Identity Extend 方法来访问用户属性

    我可以扩展方法来访问用户属性吗 有这样的方法 User Identity GetUserId User Identity GetUserName 可以从视图和控制器访问它们 我想使用以下方法扩展此功能 User Identity GetUs
  • 在运行时检查 GCC 版本

    我需要找出 C 程序执行过程中 运行时 可用的 系统中安装的 GCC 版本 主要版本和次要版本 意思是 以编程方式提取可用 gcc 的版本 就像我在 shell 中输入 gcc version 一样 但在 c 程序中 The GNUC an
  • 在 VB.NET 中将类标记为静态

    正如刚刚在最近的一篇文章中所说question https stackoverflow com questions 135759 why cant i inherit iodirectory and answer https stackov

随机推荐

  • ExpressJS:如何使用参数重定向 POST 请求

    我需要将 Node js 服务器的所有 POST 请求重定向到远程服务器 我尝试执行以下操作 app post function req res res redirect http remoteserver com req path 重定向
  • Javascript 根据星期几隐藏/显示 div?

    我正在尝试创建一个动态页面 根据一周中的某一天更改内容 我以为我有解决方案 但我似乎无法使其发挥作用 div div
  • 重新声明 JavaScript 变量

    In this教程里写着 If you redeclare a JavaScript variable it will not lose its value 为什么要重新声明变量 在某些情况下实用吗 谢谢 这只不过是提醒您 如果您这样做 v
  • 主窗口 DataContext StackOverflowException

    我知道这可能听起来很疯狂 但为了我的理解 你会如何解释这个设置Window DataContext to MainWindow结果出现此错误 引发了 System StackOverflowException 类型的异常
  • LINQDataSource - 查询多个表?

    我有一个数据库 并且创建了一个 DBML Linq to SQL 文件来表示该数据库 我创建了一个新的 aspx 页面 并在其上放置了 linqdatasource 和 formview 控件 当我配置 linqdatasource 时 它
  • 在代码隐藏的 asp:image 中显示数据表中的图像

    我有一个数据表 它是从 1 行选择语句的结果集中填充的 通过 SQL Server 2008 中的存储过程 它包含一个Image我在其中存储图像的键入列 我有一个asp image在 aspx 页面上进行控件 我想将图像设置为该数据表的相应
  • 如何使用陀螺仪从加速度计仅获取线性加速度?

    我的房间地板上有一辆小型遥控车 为了简单起见 我们假设它沿着 x 轴移动 现在 地板看起来很平坦 但每个表面都有非常微小的凹凸不平 因此 每当汽车不完全平坦时 因为它处于起始位置 或者换句话说 每当汽车有哪怕是最轻微的倾斜时 从加速度计获得
  • 多选列表框

    我的表单上有一个列表框 它可以很好地满足我想要做的事情 我想要编辑表单上的项目 这意味着填充列表框 然后选择相关项目 我的列表框包含项目尺寸列表 我想选择属于正在编辑的项目的尺寸 请有人给我一些指点 I tried me lstItemSi
  • 拟合 RNN LSTM 模型时出错

    我正在尝试使用以下代码创建用于二元分类的 RNN LSTM 模型 alldataset np loadtxt FinalKNEEALL txt delimiter num classes 2 num of sam alldataset sh
  • Spring 捕获index.html 的所有路由

    我正在为基于react的单页应用程序开发一个spring后端 其中我使用react router进行客户端路由 除了index html页面之外 后端还提供路径上的数据 api 为了提供我的index htmlsrc main resour
  • 如何处理 UWP 按下的后退按钮

    我曾经在 Windows Phone 8 1 XAML 中使用硬件按钮 API 但是 在 UWP 中 某些设备没有后退按钮 如何适应新的应用模式 稍微解释一下答案 你可以使用系统导航管理器 of Windows UI Core名称空间 对于
  • .NET Core 3.1 Web 应用程序与 React - 如何防止基于 Active Directory 组的访问

    我有一个 NET Core 3 1 Web 应用程序 其中包含使用 Windows 身份验证的 React 当用户输入他们的 Active Directory 凭据时 我想在允许访问 React 应用程序之前验证他们属于特定的 Active
  • ember.js 中的多个动态段

    我目前的路线定义如下 App Router map function this resource players path page id function this resource player path player id 我的想法是
  • 记录用户登录,以便报告客户端超出许可证数量

    我是商业 Windows 应用程序 c 的首席开发人员 一项新要求是跟踪滥用许可证的客户 例如 假设客户购买了 10 个用户许可协议 即在任何给定时间有 10 个并发用户 我需要能够在回顾历史记录时报告客户同时登录的用户数超过 10 的情况
  • 用户输入到二维数组中

    我对 C 完全陌生 我想要简单的代码来根据用户输入创建矩阵 E G int matrix1 new int 2 2 now using input i d like to add integers into the array matrix
  • 创建一个构建过程模板,该模板除了将所有文件复制到另一个目录外什么也不做

    我想在 TFS 2012 Express 中创建一个构建定义 它将简单地将项目源树中的所有文件复制到驱动器上的另一个文件夹中 只是强调 我不希望构建输出转到另一个目录 我希望源文件本身 原因是我让 IIS 指向特定文件夹 并且我希望构建将最
  • 在 django-webodt 中使用可变图像

    有人使用吗django webodt 浏览文档 我找不到有关在文档中使用图像的任何内容 我想在 ODT 文档中插入 可变 图像 ImageField 这可能吗 我正在使用 OpenOffice 后端 我不知道这是否适合你 我使用pod在我的
  • Rust 中 Result 中的“T”代表什么?

    官方文档做了很多参考T enum Result
  • 无法使用 Express 发布 / 错误

    我正在尝试使用express 创建一个简单的表单处理程序 我为我的表单尝试了以下代码
  • C/C++ 中的整数除法会遇到精度损失问题吗?

    假设我们有三个整数 int long long long unsigned int 等 变量a b c 通常情况下 执行 c a b 将导致分数截断 但是 c 有可能得到错误的值吗 我不是在谈论 a b 可能超出范围c s type 相反