美文网首页
有符号数 的 补码概念

有符号数 的 补码概念

作者: 铜雀春深锁不住 | 来源:发表于2017-09-17 14:38 被阅读0次

ps:每次看每次忘,写一遍看能不能记住  fuck

1.

针对的是有符号数,也就是最高位是符号位 1表示是负数  0表示正数

1000 0011   代表有符号数就是-3

2.

原码  也就是-3  符号位 表示正负  后7位表示数值

3.

反码:0000 0011 的反码还是 0000 0011

  1000 0011的反码是 1111 1100

4.

补码

0000 0011 补码 0000 0011

1000 0011 补码  1111 1100 +1= 1111 1101

5.要补码干嘛

计算机只有加法运算

1-1=0 在计算机中 是这样 1+(-1)=0;

所以 一个数的符号位也要参与运算(符号位参与运算,就可以全部统一为加法运算?)

我们分别用 原码 反码 补码 来计算下1 - 1的结果:

1 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [1000 0010]原 = -2

1 - 1 = 1 + (-1) = [0000 0001]反 + [1111 1110]反 = [1111 1111]反 = [1000 0000]原 = -0

1 - 1 = 1 + (-1) = [0000 0001]补 + [1111 1111]补 = [0000 0000]补 = [0000 0000]原 = 0

在8位二进制中,使用补码表示的范围为[-128,+127],0没有符号。

就是随便给一个8位,其实它是补码 ,然后转化为对应的原码,也就是实际要表示的数字

比如 给一个 0000 1000 明显表示的是一个正数 也就是 8

比如 0111 1111  明显也是正数 即127

比如 1000 0010 先减去1 得到反码 1000 0001 然后再把后7位取反,得原码 也就是 1111 1110,那这个数是-126

从1000 0010 表示-126,可以才出来 1000 0000 是最小的负数-128

也就是java 中 byte 可以表示的范围-128到127

相关文章

  • 有符号数 的 补码概念

    ps:每次看每次忘,写一遍看能不能记住 fuck 1. 针对的是有符号数,也就是最高位是符号位 1表示是负数 0表...

  • 进制

    一.原码反码补码基本概念 1.数据在计算机内部是以补码的形式储存的 2.数据分为有符号数和无符号数 无...

  • 原码、反码、补码

    1.原码反码补码基本概念 数据在计算机内部是以补码的形式储存的 数据分为有符号数和无符号数(最高位为符号位)无符号...

  • 原码,反码和补码

    在计算机内,有符号数有3种表示法:原码、反码和补码,所有数据的运算都是采用补码进行的。 正数的原码,反码,补码都相...

  • JAVA中负数的二进制表示

    计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,反码=原码按位取反 补码=反码+1。 移码为补码...

  • 数值型数据的表示方法

    带符号数的表示方法 原码 补码 反码 移码

  • 补码到底是什么?

    补码(Two's complement),是有符号数的一种二进制表示方式。 我们用 B2Tw 来表示一个补码。其中...

  • 计算机基础重新整理(1)

    摘要:1,位,字节等概念2,基本的数据类型3,移位4,有符号数的处理/补码 1,一般计算机中8个位(bit)作为一...

  • CSAPP数字表示

    1、无符号数、有符号数、补码 C 语言是支持多种整型数据类型的,下面我们看一下在 32 位机器和 64 位机器中,...

  • Java 位运算(左、右,无符号右移位、按位与、按位或、按位非、

    计算机对有符号数(包括浮点数)的表示有三种方法:原码、反码和补码,补码=反码+1。在二进制里,是用 0 和 1 来...

网友评论

      本文标题:有符号数 的 补码概念

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