n+1 < n , are you sure?
密码终于找回了,原来是我邮箱把改密链接的邮件当垃圾邮件了……
回到正题,这是道面试题,原话大致是这样的:
n+1<n成立吗?请说明。
当时我听到这个题后直觉是成立的,但是想不到怎么回事,后来别人告诉我说是在溢出的情况下会出现,这下就明白了。
这关系到寄存器存储的知识。
一个寄存器有固定的位数,如8位寄存器,16位寄存器等等,指的是这个寄存器能存储多少个1或0,例如八位寄存器,最多就是往这个寄存器中存入8个1,即255。如下图所示:

那么,有人问了,这和n+1<n有什么关系?
有关系。
理论上,起码我不知道,数的界限在哪里,但是在计算机中,存储数据的寄存器确实有限制的,就如上面的那个八位寄存器,最大8个1,255.
那么,问题来了,假如这个寄存器已经是8个1了,那么它再加1呢?
有人说了,256呗!即100000000。
没错,数学上是没错,但是寄存器怎么存呢?
当它加一后,如下图所示:

寄存器只有八位,存了后面8个0,那第一个1怎么办,扔了!
然后,这个寄存器就成这样了

不用我说这是几了吧?
所以,n+1<n就成立了。
随机推荐
- 安装ANDROID5.0 ,adb连接不上
一.ADB PC端需要换成5.0 的版本 二.是4.3默认端口5555,但是现在没有连接上.即绑定端口. setprop service.adb.tcp.port 5555 stop adbd sta ...
- 转自pnljs 委托(Func<int,bool>)
随笔- 147 文章- 0 评论- 16 Func的介绍 经常看到 Func<int, bool>...这样的写法,看到这样的就没有心思看下去了.我们学技术还是需要静下心来. 对Fu ...
- SQL SERVER时间格式化
begin ) begin BEGIN try ),@i)+' '+convert(VARCHAR,getdate(),@i) END TRY BEGIN catch end catch end en ...
- python之路-Day4
本节内容 1. 函数基本语法及特性 2. 参数与局部变量 3. 返回值 嵌套函数 4.递归 5.匿名函数 6.函数式编程介绍 7.高阶函数 8.内置函数 函数是什么? 函数一词来源于数学,但编程中的「 ...
- java 常见dos命令
盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. cd : 进入指定目录 ...
- C++设计模式-Adapter适配器模式(转)
Adapter适配器模式作用:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作. 分为类适配器模式和对象适配器模式. 系统的数据和 ...
- Tomcat 7.x热部署
由于在开发阶段,需要频繁的修改源代码,如果每次修改完代码都去重启服务器来检测效果,那简直麻烦到你想死,又耽误时间,所以,在网上找了许久,终于找到了解决办法, 特来分享 我也试了修改Server.xml ...
- UVM的类库
[转]http://www.asicdv.com/ 一个UVM验证平台可以看成由多个模块组合在一起的,这和以前的verilog代码,以及verilog结合其它各种语言的验证手段在理念上是一样的,最大的 ...
- mac--又发现了一款mac快捷键神器
之前用applescript,还有keyboard maestro,前段时间用机械键盘的时候,用开源的karabiner重新设置机械键盘的键位. 今天因为网上抄的键位F4想换成Launchpad,所以 ...
- java多线程详解(7)-线程池的使用
在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了, 这样频繁创建线程就会大大降低系 ...