当前位置: 首页 > 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.hskmm.com/?act=detail&tid=37629

相关文章:

  • 二分图/忆re.
  • 《IDEA 2025长效采用配置指南:有效期配置至2099年实战之JetBrains全家桶有效》​
  • ZKW线段树
  •  pytorch 66页实验题
  • Visual Studio 插件 - 喝水提醒 - 指南
  • JAVA 排序用法
  • 10/23
  • 10月23日
  • 第3天(中等题+简单题 数组、滑动窗口)
  • esp32-usb-jtag 调试踩坑
  • MySQLDay3
  • 飞牛OS通过docker部署SillyTavern酒馆
  • MySQL主从同步读写分离
  • ollama v0.12.2 版本更新详解:Qwen3 架构协助、Multi-Regex 分词器、新引擎前后缀匹配等功能升级
  • AI股票预测分析报告 - 2025年10月23日 20:26
  • 软件包管理
  • nginx反向代理测试搭建
  • 基础概念
  • .NET Core报错克服【无废话上操作】
  • 题解:P11831 [省选联考 2025] 追忆
  • 2025-10-23 MX-S 模拟赛 赛后总结【MX】
  • PCL1.12 解决memory.h中EIGEN处中断问题
  • 完整教程:状态管理库 Zustand 的接入流程与注意点
  • 20251023
  • Java常用机制 - SPI机制详解
  • 塔吊施工环境与附属设施监测!思通数科 AI 卫士筑牢全场景安全防线
  • 采用opencv来识别信用卡的号码
  • 网络设备
  • 第二十二篇
  • 《程序员修炼之道:从小工到专家》阅读笔记1