为了账号安全,请及时绑定邮箱和手机立即绑定

11:25老师的原话:只需要找出这个正数的补码、通过对这个正数的补码二进制进行计算就可以得到....

(正数的原码、反码、补码都一样)

原码的定义好像有点儿牵强,后面反码的求法也和我们大学老师讲的IEEE754标准不一样/

正在回答

1 回答

这个问题提的很好,欢迎大家拍砖

需要说明的的是:上面讲的:

(1)反码是二进制数的反码,不是整数的反码;

(2)数在计算机中的表示形式可以是补码、原码、反码,但是负数采用了其正数的补码形式表示。详细如下:

一、原码 反码 补码都是指的数的一种二进制表示形式,

因此整数的表示方式有三种:原码 反码 补码

例如:5的原码00000000 00000000 00000000 00000101

11111111 11111111 11111111 11111010是(原码)00000000 00000000 00000000 00000101的反码,不是(整数)5的反码

5的反码表示形式是00000000 00000000 00000000 00000101,是根据定义(正数的补码和原码一样)来的,无法改变的。

-5 在计算机中表达为:11111111 11111111 11111111 11111011(以其正数的补码形式表示)转换为十六进制:0xFFFFFFFB。

-5的原码是10000000 00000000 00000000 00000101

上面讲的都是32bit的。

再说明个一个字节(8bit)的例子

+7的原码为: 00000111    +7的反码为:00000111  +7的补码为: 00000111

-7的原码为: 10000111   -7的反码为: 11111000  -7的补码为: 11111001

-7在计算机中的二进制是如何表示呢,根据定义负数以其正数的补码形式表示 过程如下:

原码00000111->(二进制的,不是7的)反码11111000->补码11111001,就是-7的补码形式


3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
二进制基础
  • 参与学习       99871    人
  • 解答问题       210    个

二进制是计算机唯一能识别的语言,是学习计算机技术必备的知识

进入课程
意见反馈 帮助中心 APP下载
官方微信