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

1019:浮点数向零舍入(分正负取整)

【题目描述】
输入一个单精度浮点数,将其向零舍入到整数。说明:向零舍入的含义是,正数向下舍入,负数向上舍入。提示:可以使用强制类型转换来实现。

【输入】
一个单精度浮点数。

【输出】
一个整数,即向零舍入到整数的结果。

【输入样例】
2.3
【输出样例】
2

#include<bits/stdc++.h>
using namespace std;
int main(){float a;cin>>a;cout<<(int)(a)<<endl;return 0;   
}

真正要先判断正负,
fixed和setprecision(n)配合使用括号里n位数,就是保留n位小数,会有四舍五入。比如n为3,结果就是3.142。但会有报错出错,暂时不知道哪里。
几钟舍入
1.就近舍入Round to nearest (even)
2.朝0舍入Round toward zero (Truncate)
3.朝正无穷舍入Round up (toward +∞)
4.朝负无穷舍入Round down (toward −∞)
1.就近舍入(向偶数舍入):即十进制下的“四舍五入”
(1)例如有效数字超出规定数位的多余数字是1001,它大于超出规定最低位的一半(即0.5),故最低位进1;
(2)如果多余数字是0111,它小于最低位的一半,则舍掉多余数字(截断尾数、截尾)即可;
(3)对于多余数字是1000、正好是最低位一半的特殊情况,最低位为0则舍掉多余位,最低位为1则进位1、使得最低位仍为0(偶数)。

2.朝0舍入(正数向下舍入、负数向上舍入):即朝数轴零点方向舍入,即直接截尾。

3.朝正无穷舍入(向上舍入):对正数而言,只要多余位不全为0则向最低有效位进1;负数则直接截尾。

4.朝负无穷舍入(向下舍入):对负数而言,向最低有效位进1;正数若多余位不全部为0则简单截尾。
二、举例说明
1.就近舍入Round to nearest (even)
Rounded result is the closest to the infinitely precise result. If two values are equally close, the result is the even value (that is, the one with the least-significant bit of zero).
四舍五入的结果是最接近无限精确的结果。如果两个值相等,则结果为偶数(即最低有效位为0的那个值)。

对于1.001_1001,舍入处理后为1.010(去掉多余的4位,加0.001)
对于1.001_0111,舍入处理后为1.001(去掉多余的4位)
对于-1.001_1000,舍入处理后为-1.010(去掉多余的4位,加0.001,因为此时最低位为1)
对于-1.010_1000,舍入处理后为-1.010(直接去掉多余的4位,因为此时最低位为0)
AI写代码
c
运行
1
2
3
4
2.朝0舍入Round toward zero (Truncate)
Rounded result is closest to but no greater in absolute value than the infinitely precise result.
四舍五入的结果在绝对值上最接近但不大于无限精确的结果。

//正数直接截尾
对于1.001_1001,舍入处理后为1.001(直接去掉多余的4位)
对于1.001_0111,舍入处理后为1.001(直接去掉多余的4位)

//负数直接截尾
对于-1.001_1000,舍入处理后为-1.001(直接去掉多余的4位)
对于-1.010_1000,舍入处理后为-1.010(直接去掉多余的4位)
AI写代码
c
运行
1
2
3
4
5
6
7
3.朝正无穷舍入Round up (toward +∞)
Rounded result is closest to but no less than the infinitely precise result.
四舍五入的结果最接近但不低于无限精确的结果。

//正数多余位不全为0进位1
对于1.001_1001,舍入处理后为1.010(去掉多余的4位,加0.001)
对于1.001_0111,舍入处理后为1.010(去掉多余的4位,加0.001)

//正数多余位全为0直接截尾
对于1.001_0000,舍入处理后为1.001(直接去掉多余的4位)

//负数直接截尾
对于-1.001_1010,舍入处理后为-1.001(直接去掉多余的4位)
AI写代码
c
运行
1
2
3
4
5
6
7
8
9
4.朝负无穷舍入Round down (toward −∞)
Rounded result is closest to but no greater than the infinitely precise result.
四舍五入的结果最接近但不大于无限精确的结果。

//正数直接截尾
对于1.001_1001,舍入处理后为1.001(直接去掉多余的4位)
对于1.001_0111,舍入处理后为1.001(直接去掉多余的4位)

//负数多余位全为0直接截尾
对于-1.001_0000,舍入处理后为-1.001(直接去掉多余的4位)

//负数多余位不全为0进位1
对于-1.001_1010,舍入处理后为-1.010(去掉多余的4位,加0.001)
AI写代码
c
运行
1
2
3
4
5
6
7
8
9
参考链接: https://www.cnblogs.com/jva-index/p/13897423.html
https://blog.51cto.com/u_8741388/1625404

三、舍入模式的英文简写
rne: 最近舍入,朝向偶数方向(round to nearest, ties to even)
rtz: 朝零舍入(round towards zero)
rdn: 向下舍入(round down)
rup: 向上舍入(round up)
rmm: 最近舍入,朝向最大幅度方向(round to nearest, ties to max magnitude)
dyn: 动态舍入模式(dynamic rounding mode)

http://www.gsyq.cn/news/28711.html

相关文章:

  • 创建 SQL Server 数据库【通用】
  • HNSW算法实战:用分层图索引替换k-NN暴力搜索
  • Spring Boot 自动配置之 TaskExecutor - 实践
  • 二分图/忆re.
  • 《IDEA 2025长效采用配置指南:有效期配置至2099年实战之JetBrains全家桶有效》​
  • 如何制作PDF文件目录? - 详解
  • todesk远程到被控Mac后能看到画面,鼠标键盘执行无反应
  • JAVA 排序用法
  • esp32-usb-jtag 调试踩坑
  • MySQLDay3
  • 飞牛OS通过docker部署SillyTavern酒馆
  • 深入解析:XML中的 CDATA mybaitis xml中的 <![CDATA[ xxxx ]]>
  • AI股票预测分析报告 - 2025年10月23日 20:26
  • 软件包管理
  • .NET Core报错克服【无废话上操作】
  • 题解:P11831 [省选联考 2025] 追忆
  • 2025-10-23 MX-S 模拟赛 赛后总结【MX】
  • Anaconda命令大全conda
  • 网络设备
  • Kafka-保证消息消费的顺序性及高可用机制 - 教程
  • 实用指南:PyTorch 数据处理工具箱:从数据加载到可视化的完整指南
  • 多级多卡训练模型时有些参数没有参与loss计算和梯度更新的解决办法
  • 在 GEO / AIO 角度:如何优化 SEO 内容?
  • Idea提高制作效率的快捷键最佳学习方式
  • Elasticsearch8容器化部署 - 实践
  • 4.6.2版本来了!快来看看新版本有哪些改动
  • 2025-10-22 ZR-J 模拟赛 赛后总结【ZR】
  • [grep] grep stream 2, the error message
  • Liferay Portal与DXP集合提供程序存在授权缺失漏洞分析
  • MapGIS Objects Java计算一条三维线段与一个三角形所在的平面的交点 - 教程