0x3f3f3f3f的十进制是1061109567,也就是10^9级别的(和0x7fffffff一个数量级),而一般场合下的数据都是小于10^9的,所以它可以作为无穷大使用而不致出现数据大于无穷大的情形。另一方面,由于一般的数据都不会大于10^9,所以当我们把无穷大加上一个数据时,它并不会溢出(这就满足了“无穷大加一个有穷的数依然是无穷大”),事实上0x3f3f3f3f+0x3f3f3f3f=2122219134,这非常大但却没有超过32-bit int的表示范围,所以0x3f3f3f3f还满足了我们“无穷大加无穷大还是无穷大”的需求。最后,0x3f3f3f3f还能给我们带来一个意想不到的额外好处:如果我们想要将某个数组清零,我们通常会使用memset(a,0,sizeof(a))这样的代码来实现(方便而高效),但是当我们想将某个数组全部赋值为无穷大时(例如解决图论问题时邻接矩阵的初始化),就不能使用memset函数而得自己写循环了(写这些不重要的代码真的很痛苦),我们知道这是因为memset是按字节操作的,它能够对数组清零是因为0的每个字节都是0,现在好了,如果我们将无穷大设为0x3f3f3f3f,那么奇迹就发生了,0x3f3f3f3f的每个字节都是0x3f!所以要把一段内存全部置为无穷大,我们只需要memset(a,0x3f,sizeof(a))。所以在通常的场合下,0x3f3f3f3f真的是一个非常棒的选择。

总结起来就是三句话1 够大,一般这么大你不会用到2 够大但不容易溢出3 方便数组赋值(如果你用FF会变成负数,符号位也会成1)

0x3f3f3f3f知多少相关推荐

  1. 按键精灵开发者认证1-6题库

    这是以前整理的题库,包过. 题目:(前台)区域范围为(100,150)到(200,300)内的所有点是否均为"FFFFFF",是则弹出对话框"没有其他颜色",否 ...

  2. C - Cardboard Container Gym - 102007C(已知体积求表面积)

    C Cardboard Container Fidget spinners are so 2017; this years' rage are fidget cubes. A fidget cube ...

  3. 【关于memset和0x3f3f3f3f】

    当图论中,我们计算最短路径或者最小生成树时,总是喜欢将邻接矩阵或者dist数组初始化为INF.而INF会定义成一个无穷大的常量.众周知,int在计算机中占4字节,32位,所以就有了0x7fffffff ...

  4. 作物杂交 作物杂交是作物栽培中重要的一步。已知有 N 种作物 (编号 1 至 N ),第 i 种作物从播种到成熟的时间为 Ti ​ 。作物之间两两可以进行杂交,杂交时间取两种中时间

    文章目录 题目描述 输入描述 输出描述 输入输出样例 示例 运行限制 代码 思路 作物杂交 题目描述 作物杂交是作物栽培中重要的一步.已知有 N 种作物 (编号 1 至 N ),第 i 种作物从播种到 ...

  5. eShopOnContainers 知多少[8]:Ordering microservice

    1. 引言 Ordering microservice(订单微服务)就是处理订单的了,它与前面讲到的几个微服务相比要复杂的多.主要涉及以下业务逻辑: 订单的创建.取消.支付.发货 库存的扣减 2. 架 ...

  6. Java知多少(29)覆盖和重载

    在类继承中,子类可以修改从父类继承来的方法,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的名称.返回值类型.参数列表. 如果在新类中定义一个方法,其名称.返回值类型和参数列表正好与父类 ...

  7. (转载)从无知到有知

    这篇文章的作者是徐宥,觉得很有共鸣,好东西大家分享一下 February 3, 2010 at 11:07 pm · Filed under Article, Memo, Self-help [这篇文 ...

  8. host ntrip 千寻rtk_什么是千寻知寸cors账号?它提供的定位服务精度如何?使用时需要注意哪些问题?...

    千寻知寸cors账号FindCM:基于RTK技术的厘米级差分数据播发服务,终端设备收到差分数据后,结合自己的卫星观测数据进行高精度定位解算,在观测环境良好的情况下,统计精度可以达到水平2~5厘米,高程 ...

  9. 为什么vs数据库中文显示问号_本科论文知网不收录为什么会被知网查重到?

    在我们写本科毕业论文之际,很多同学都会借鉴一些参考文献.其中就包括往届师兄师姐的学位毕业论文,参考的最多.随之而来的问题也会很多.学校要进行知网查重,很多同学都会先把一些前辈的论文在知网上检索一遍,发 ...

最新文章

  1. 运行shell脚本时报错[[ : not found解决方法
  2. [zz] C++智能指针循环引用解决
  3. 第七章 Web开发实战2——商品详情页
  4. linux网络编程系列-select和epoll的区别
  5. linux 下使用 curl post
  6. 仅使用HTML和CSS实现的标签云效果
  7. python爬虫哪个选择器好用_Python网络爬虫四大选择器用法原理总结
  8. linus为什么开源_Linus Torvalds谈个性崇拜,美国最好的开源学校等等
  9. RTF文件格式【转】
  10. [Python] 矩阵拼接 np.c_[a,b]和np.r_[a,b]
  11. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_16_常用的函数式接口_Function接口中的方法Apply...
  12. java开源cad_.Net开源项目(包含CAD支持)
  13. thinkpadt410接口介绍_联想t410配置参数详解
  14. python图片logo_Python logo
  15. 苹果怎么用计算机,苹果笔记本怎么用(苹果电脑Mac 系统基本操作介绍)
  16. android中截屏功能实现,android代码实现截屏功能
  17. 计算机文档打不开是什么原因,电脑文件打不开怎么回事
  18. 巴铁兄弟加我微信,问如何通过写博客赚钱?
  19. beanmapper java_Java今日收获——BeanMapper
  20. java代码质量 圈复杂度,代码圈复杂度(Cyclomatic Complexity,CC)和Oclint工具 介绍...

热门文章

  1. Linux中没有rc.local文件的解决方法
  2. 再见 Wordpress!这个Java开源建站神器有点吊
  3. 机器学习与Tensorflow(6)——LSTM的Tensorflow实现、Tensorboard简单实现、CNN应用
  4. CSDN博客怎么编辑表格
  5. webapp引导页 html,轻松为 webApp 实现引导页功能 (vue-router + vueg + vue-touch)
  6. 电脑的计算机文件打开格式,ai文件怎么打开,教您电脑打开ai文件的方法
  7. 呼叫中心服务器类型,呼叫中心常见的几种服务器.doc
  8. 如何在移动端app中应用字体图标icon fonts
  9. java网站挂掉_spring boot突然挂掉4个节点的线上事故
  10. win10的“全新启动”功能,摇身一变为纯净版系统