Java如何处理整数下溢和溢出?

发布于 2024-11-03 17:20:27 字数 39 浏览 4 评论 0原文

我了解java中的溢出,但是什么叫下溢? java 如何处理它?

I understand the overflows in java, but what is called underflows? and how can java handle it ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

離人涙 2024-11-10 17:20:27

下溢与溢出完全相反。

int high = Integer.MAX_VALUE;
int overflow = high + 1;

int low = Integer.MIN_VALUE;
int underflow = low - 1;

您可以以相同的方式处理它:确保输入不会使自己处于上溢/下溢的范围内,并让用户意识到潜在的缺点。 (例如,考虑 Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE。)

Underflow is the exact opposite of overflow.

int high = Integer.MAX_VALUE;
int overflow = high + 1;

int low = Integer.MIN_VALUE;
int underflow = low - 1;

And you handle it the same way: you make sure inputs are not going to put yourself in the range of over/underflow, and make the user aware of potential shortcomings. (Consider Math.abs(Integer.MIN_VALUE) == Integer.MIN_VALUE for instance.)

慵挽 2024-11-10 17:20:27

引用 维基百科

术语算术下溢(或
“浮点下溢”,或者只是
“下溢”)是一个条件
计算机程序可能发生在
浮点的真实结果
操作幅度较小
(即接近于零)比
最小值可表示为
中的普通浮点数
目标数据类型。

其他人似乎认为下溢与溢出完全相反,但我从未见过这个定义。

Quoting Wikipedia:

The term arithmetic underflow (or
"floating point underflow", or just
"underflow") is a condition in a
computer program that can occur when
the true result of a floating point
operation is smaller in magnitude
(that is, closer to zero) than the
smallest value representable as a
normal floating point number in the
target datatype.

Others seem to think underflow is the exact opposite of overflow but I never saw that definition.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文