学习进制及数据在计算机中的表示

本文介绍了计算机中数的二进制表示方法,包括符号位和机器数的概念,以及原码、反码和补码的编码方式。强调了进制转换的重要性,特别是整数部分的除r取余法和小数部分的乘r取整法。还讨论了8进制和16进制在简化转换中的作用,并提到了Java中字节到整数的转换,以及算术移位和逻辑移位的区别。最后,解释了符号扩展在保持数值的同时保持其正负符号的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

进制------即进位计数制


★数的编码表示:在计算机中,因为只有0和1两种形式,因此数的正、负也要进行0和1编码. 通常把一个数的最高位定义为符号位,用0表示正 , 用1 表示负,最高位称为数符位,其余位仍表示数值.

★一个8位的二进制数  -0101100,它在计算机中可表示为10101100,如图所示:

1 0 1 0 1 1 0 0
数符位(1位)  数值位(7位)


★规则:将一个数在计算机中的表示形式称为" 机器数 ",而它代表的数值称为此机器数的"真值". 在上例中,10101100称为"机器数",而 -0101100称为此机器数的"真值";

(要习惯于这种二进制数"真值"的写法,就如同一个十进制 -10 一样去认识.)


那么通过上述的规则,将数的符号数字化(0/1)后,计算机就可以识别和表示数符了.但问题又出现了:如果数符位和数值位同时参加运算,有时会产生错误的结果;若要让计算机另外考虑符号的问题,将增加计算机实现的难度( 因为计算机非常笨<_> ).那么如何让傻傻的计算机能够将符号位与数值位同等对待,并且计算结果不错呢? 

★为了解决此类问题:在机器数中常采用多种编码方式表示符号数,常用的是原码,反码及补码(in two's complement).这些编码的实质是对负数用机器数表示的不同的编码

★原则: 整数X的补码:对于正数,补码与原码,反码相同 , 对于负数,数符位为1,其

数值位X的绝对值取反后最低位+1,即为反码+1.

对于0,[+0]=0000 0000,[-0]=0000 0000.

 


重点掌握:1.多项式(权值)概念

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值