美文网首页
[计基]-二进制之补码

[计基]-二进制之补码

作者: Sunxxxxx丶 | 来源:发表于2018-08-17 12:09 被阅读58次

一.基础名词

原码 : 0011

反码 :
0011(原码) >> 1100(反码) (原码按位取反)

补码 :
0011(原码) >> 0011(补码) (正数的补码是自己)
-0101(原码) >> 1011(补码) (负数的补码是原码按位取反加一)

二.补码作用

1.将减法转化成加法

因为运算器进行加法是最快的.

2.用二进制数表示负数

计算机只识别0和1.不认识负号和正号.如1011表示-5

三.例子

计算机内部运算减法的时候其实是转成加法来运算的.

例子一:
我们先来看十进制下怎么将减法转成加法:
如34-12可以进行如下转换

34 - 12 

= 34 + ( -12 ) 

= 34 + ( -12 ) + 99 + 1 - 100 

// 1.(99 - 12 + 1)即求补数.
// 在十进制里求补数还是用到了减法.
// 但是二进制求补数就不需要使用减法了. 

// 2.此处的100高位溢出了.省略百位的1.即0;
= 34 + ( 99 -  12 + 1) - 100  

= 34 + 88

// 此处的122高位溢出了.省略百位的1.即22
= 122

= 22

例子二:
然后我们再来看下二进制怎么将减法转成加法:
如0011 - 0001可以进行如下转换

0011 - 0001

= 0011 + (-0001)

= 0011 + (-0001) + 1111 + 0001 - 10000

// 1.( 1111 - 0001 + 0001) 即求补数.
// 但是1111-0001即对0001取反.
// 所以此处无需使用减法

// 2.此处的10000高位溢出了.省略最高位.即0000;
= 0011 + ( 1111 - 0001 + 0001) - 10000

// ( 1111 - 0001 + 0001) >> 1111 即对-0001取反加1
= 0011 + 1111

// 此处高位溢出.省略高位
= 10010

= 0010

// 转成十进制
= 2

总结: 二进制减法a-b 可以转化为 a + b的补码

例子三:
前面一个例子是大数减小数.
那现在我们用前面得出的结论来计算小数减大数

0001 - 0011

// -0011求补码即1101
= 0001 + 1101 

// 符号位为1.即结果为负数.
= 1110

// 负数的原码: 保留正负号.求补码
= - (0010) 

// 转成十进制
=  -2

相关文章

  • [计基]-二进制之补码

    一.基础名词 原码 : 0011 反码 :0011(原码) >> 1100(反码) (原码按位取反) 补码 :00...

  • 二进制、八进制、十进制、十六进制转换

    1.负数的二进制使用补码 负数的二进制是采用补码计算的,比如: 1的二进制为:0000 0001 它(正数)的反码...

  • 二进制补码

    13 负数同样以二进制码存储,但使用的格式是二进制补码。计算一个数值的二进制补码,需要经过下列3个步骤:(1) 求...

  • 计算系统基础13年试卷 答案参考

    13计基答案参考 首先明白补码的规则,正数为源码,负数则全部取反,末尾加一 先将432转化为2进制00011011...

  • 数值是以补码表示的

    正数的补码与原补码相同 负数的补码:将该数的绝对值的二进制数按位取反后再加1 例如:求-10的补码 10的原码: ...

  • 基本数据类型

    一 、内置数据类型 byte 8位、有符号的,以二进制补码表示的整数short 16 位、有符号的以二进制补码表示...

  • 二进制原码、反码、补码运算及标志位

    一、二进制原码、反码、补码的转换 原码: 正整数的原码:这个数的二进制,符号位为0;正整数的原码=补码=反码 例1...

  • 负数在内存中的表示方式

    在计算机中数值是以二进制补码形式存在的。 正数的补码不变 负数的补码为 原码 ->取反 -> 加一以 -112...

  • 原码、反码、补码和移码

    书中关于原码、反码、补码和移码的定义如下(n是机器字长):原码: 反码: 补码: 移码: 原码, 反码, 补码的基...

  • 十进制,二进制,以及相互转换

    二进制 计算机以二进制补码的形式保存所有的整数 正数的原码、反码、补码都相同 原码:最高位符号位,正数为0,负数为...

网友评论

      本文标题:[计基]-二进制之补码

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