美文网首页
以二进制角度看待计算溢出

以二进制角度看待计算溢出

作者: 土豆泥加冰谢谢 | 来源:发表于2020-12-08 18:15 被阅读0次

当我们使用int,long等进行计算时,本质还是在二进制的形势下进行的运算。
当进行无符号的整形计算时,每一位的数值均参与了运算,以四位为例:
15+15=1111+1111
30=11110
因为4位限制,我们舍弃了最高位的1=2^4
所以->
30-2^4=1110
14=1110 符合逻辑

接下来我们以同样的思路看待有符号整形,同样以4位为例:
有符号整形有两种溢出情况,我们先看待负溢出:
-8+(-8)=1000+1000
-16=10000
有符号数的二进制是按补码显示的,最高位为符号位,1时为负,0时为正,且最高位的数值要参与运算
所以这里舍弃1相当于我们抛弃了-2^4
-16-(-2^4)=0000
-16+16=0//吻合

正溢出时:
7+7=0111+0111
因为两个7的最高位本来是正数,现在变成了负数,我们要再次变正,相当于要转换两次
14=1110+23+23
14=1110+16
-2=1110//吻合

相关文章

  • 以二进制角度看待计算溢出

    当我们使用int,long等进行计算时,本质还是在二进制的形势下进行的运算。当进行无符号的整形计算时,每一位的数值...

  • 《码农翻身》读后感

    前言 不错的好书,作者本身是从事JAVA为主,但以从业15年的角度看待计算机语言的发展史,有个概括通俗易懂的角度来...

  • csapp第一章信息表示

    二进制表示,单个位与位组合;计算机表示法用有限数量的位对一个数字编码,会产生溢出等问题。溢出错误的存在任然不会违背...

  • 关系里,以中正角度看待

    之前,我们聊了《关系里,谁的问题》[https://www.jianshu.com/p/30c8f4d27ece]...

  • 易经的变易、简易、不易和证伪与姆剃刀原理

    对“理论"这个概念如何理解,要用证伪的角度去看待任何理论,包括自己的,如果你以否定的角度去看待事物还有什么是肯定的...

  • 二进制

    什么是二进制二进制以2为基数 计算机为什么使用二进制 组成计算机系统的逻辑电路有两种状态:开/关,由于每位数据只有...

  • K14 5/15《梁冬说庄子:人间世》

    慢慢学会放空自己,以旁观者的角度去看待自己,认识自己。

  • LeetCode[191] - 计算二进制中1的个数

    看了很多计算二进制中1的个数的算法,基本所有算法都是基于二进制的位运算,早上想了想,觉得可以换个简单的角度去想这个...

  • 2018-08-22 Day3-字符串

    1.数据存储形式 计算机以二进制的形式存储 (1).原码:数据的二进制形式 10 --> 1010 原码:0000...

  • 信息的表示和处理

    比特及位级运算 现代计算机存储和处理信息以二进制信号表示,一个二进制数称为位。大多数的计算机使用8位,或者字节,作...

网友评论

      本文标题:以二进制角度看待计算溢出

      本文链接:https://www.haomeiwen.com/subject/edjqgktx.html