计算机组成原理-原码,反码,补码

本文介绍了计算机中的原码概念,用8位二进制表示数字,包括正负数的表示方法以及原码的局限性。特别提到0在原码中的表示以及补码的必要性。后续将深入探讨更多相关知识。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

真值与机械码

真值:我们书写的数字(带正负号的)

机械码,机械数:原码,反码,补码


一、原码

在计算机组成原理当中利用数学形式表示难以理解(这里我统统采用8位二进制来表示)

通俗来说,我们将一个10进制数字比如+29拆分成 (2^{0},2^{1},2^{2},2^{3},2^{4},2^{5}...)形式

我习惯先将一个数拆分成(1,2,4,8,16,32,64,128,256,512,1024...)来做,在返回去想分别对应2的几次方

1.29=16+8+4+1;这里从大到小来做--->( 0_0 _0 _1 _1 _1 _0 _1 _)

2._ _ _ _ _ _ _ _一个下划线代表一位二进制数,第一位为符号位(0表示这个数是正数,1表示这个数是负数),后7位为数值位可以从(_0000000-_1111111

3.转10进制:原码中除符号位外,从右向左数,数值位中第1个为1 代表2^{0}=1,如果是第二个2^{1}=2,以此类推。

二、原码可以表达数字的范围(10进制)

1.从(11111111-01111111)

在10进制中2^{8}=128=1 0000 0000(不难看出要表示128,需要九位,这就超出了我要表示的范围,所以我们8位二进制中存储不了128,同样128在原码中表示不了),负数也是同理,所以我们可以得出(-127-+127)是原码可以表示的范围(1111 1111 - 0111 1111)

2.0的原码

我们在数学中经常会将0分为+0和-0,同样在原码中也有同样的表示:

+0:(0_0_0_0_0_0_0_0)

-0:(1_0_0_0_0_0_0_0)

不难得出一个结论,0的存储耗费了两个值,这就会使得我们在存储原码时,浪费一个空间。这也是后面要提出补码的原因之一。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了原码的一些基础知识,后面还会继续更新

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值