zoukankan      html  css  js  c++  java
  • 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就成立了。

    做IT的光看不行,多做方有所得。
  • 相关阅读:
    页面get请求 中文参数方法乱码问题
    java版ftp简易客户端(可以获取文件的名称及文件大小)
    文件下载
    kafka:一个分布式消息系统
    Executor的线程代码
    验证码的生成
    二维码的简单实现
    rsync实现大致流程描述
    C++中模板生成时机
    gcc虚函数表生成时机
  • 原文地址:https://www.cnblogs.com/xinluwutu/p/6051713.html
Copyright © 2011-2022 走看看