关于正无穷大取值小记

 0x7fffffff ( 7 个 f ),等于 2147483647,即 32 位的 int 最大。这个数可作为无穷大用于简单的比较大小,但直接作为无穷大还不太好。因为不能满足无穷大加无穷大等于无穷大,其和会因为超出 int 的范围而变成负数。

 0x3f3f3f3f,等于1061109567,与 0x7fffffff 为同数量级,而且两个这么大的数的和仍在 int 的取值范围内,满足无穷大加无穷大等于无穷大。

而 0x3f3f3f3f 的每个字节都是 0x3f,因此还可以在为数组赋最大值时用 memset(a, 0x3f, sizeof(a))。

感谢这篇博客的作者:https://blog.csdn.net/jiange_zh/article/details/50198097

猜你喜欢

转载自www.cnblogs.com/Taskr212/p/10427660.html