看JS操作符中二进制补码

      由于在做简单的轮播,感到js有很多概念或者遗忘,或者模糊不清,然后整个结构完全搞不明白,决定拿JS红宝书复习巩固,在第三章有一个计算数值的二进制补码,书上介绍有以下三个步骤:

      1.求这个数值绝对值的二进制补码(例如:计算-18的二进制补码,先求18的二进制码);

      2.求二进制反码,即将0替换成1,将1替换成0;

      3.对该二进制反码加1

      根据以上3个步骤求-18的二进制码,先求18的二进制码,即:

      0000 0000 0000 0000 0000 0000 0001 0010

      然后,求其二进制反码,即0和1互换:

      1111 1111 1111 1111 1111 1111 1110 1101

       最后,二进制反码加1:

       1111 1111 1111 1111 1111 1111 1110 1110     

       这时得到了,-18的二进制表示 ,即 1111 1111 1111 1111 1111 1111 1110 1110

       前两步很好理解,这个二进制反码加1,怎么加呢?思考半天没有结果,翻书也没有讲,然后使用bing搜索,看到一个提问下回答:

       二进制反码加1,从第最后一位开始,如果是0,加1则变为1。如果该位是1,则由于二进制值只能是1或者0,没有2.所以只能往前加,进一位,一直遇到0为止。

      

原文地址:https://www.cnblogs.com/mernva/p/13419701.html