C语言之计算机基础学习资料二(20210119152454)_第1页
C语言之计算机基础学习资料二(20210119152454)_第2页
C语言之计算机基础学习资料二(20210119152454)_第3页
C语言之计算机基础学习资料二(20210119152454)_第4页
C语言之计算机基础学习资料二(20210119152454)_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言之计算机基础学习资料二 机器数与真值 一、机器数及其编码 机器数就是数值在计算机中的表示形式,真值则是它在现实中的实际数值。可以这样简单的理解。 因为计算机只能直接识别和处理用 0、1两种状态的二进制形式的数据,所以在计算机中无法按人 们的日常书写习惯用正、负符号加绝对值来表示数值,而与数字一样采用二进制代码0和1来表示 正、负号。这样在计算机中表示带符号的数值数据时,符号和数均采用了0、1进行了代码化。这 种采用二进制表示形式,连同正负符号一起代码化的数据,称为机器数或者机器码(即,数值在 计算机中的二进制表示形式)。 与机器数对应,用正、负符号加绝对值来表示的实际数值称为 真值。 根

2、据约定机器数是否存在符号位,机器数可以分为 无符号数和带符号数。无符号数是指计算机字 长的所有二进制位均表示数值。带符号数是指机器数分为符号位和数值两部分,且均采用二进制表 示。一般约定最高位表示符号。 例。 对于带符号数,根据小数点位置固定与否,又可以分为定点数和浮点数。在介绍浮点数之前我们要 将注意力完全放在定点数上面,要有点耐心,对定点数的理解程度决定了我们对浮点数的理解程度, 因为可以将浮点数看成是对定点数的一种应用,以后就会明白了。好了,先看一看什么是定点数。 定点数约定所有数据的小数点位置均是相同且固定不变的。计算机中通常使用的定点数有定点小数 和定点整数两类。 定点小数:对于一个

3、长度为n位的机器数,定点小数约定小数点在符号位和最高数值位之间,如下 数符(最高位,占用1位)?尾数(剩余n-1位) 小数点只是一个约定,是隐含的,不占用空间。 定点整数:对于一个长度为n位的机器数,定点整数约定小数点在最低数值位之后,如下 数符(最高位,占用1位)尾数(剩余n-1位). 小数点也是隐含的。 例1-2:下的八位二进制数,我们看看它们所代表的值是多少 定点小数:1.1011001?真值=-0.101100 仁-0.6953125 定点整数: I Z z 真值:127=+1111111?定 点整数:01111111 真值:-0.125=-0.001?定点小数:1.0010000 1

4、、机器数与真值 机器只认识二进制数:0、1。 这是因为,电路状态常有两个,如通、断;高电平、低电平;可用 0、1表示。 这种0、1、0、1T在机器中的表现形式机器数。一般为 8位。 无符号数:00000000B 即 00H FFH 机器数有: 带符号数:+1010110B -1101001真值 01010110、机器数 2、机器数的编码及运算 对带符号数而言,有原码、反码、补码之分,计算机内一般使用补码。 仅供参考 1) 原码 将数“数码化”,原数前“ +”用0表示,原数前“-”用1表示,数值部分为该数本身,这样的 机器数叫原码。 设X原数;则X原=X (X_0) X原=2 n-1 - X (

5、X兰0),n为字长的位数。 如, +3原=00000011B -3原=2 7 -(-3 ) 0有两种表示方法:00000000 一+0* -0 原码最大、最小的表示:+127、-127 2) 反码 规定正数的反码等于原码;负数的反码是将原码的数值位各位取反。 X反=X(X_0) n X反=(2 - 1) + X(X E0) 如, +4反=+4原=00000100 B -4反=(2 8 - 1)+(-4 反码范围:-127 +127 两个 0;+000000000 B -0 3) 补码 补码的概念:现在是下午3点,手表停在12点,可正拨3点,也可倒拨9点。即是说-9的操作 、 X 可用+3来实现

6、,在12点里:3、-9互为补码。 运用补码可使减法变成加法。 规定:正数的补码等于原码。 负数的补码求法:1)反码+ 1 2)公式:X补=2 n + X (X 3 0011 1100 未用码 4 0100 1101 5 0101 1110 : 6 0110 1111 X 7 0111 8 1000 1、 Z 这叫做二进制数对十进制编码 BCD码。 上述每4位二 -进制数表示 个十进制字符,这 4位中各位的权依次是: 8 、 4、2、11- 8421 BCD 码。 BCD码的运算: 例: 1 8 0 0 0 1 1 0 0 0 +)3 BCD 码相加 + ) 0 0 0 0 0 0 1 1 2

7、1 0 0 0 1 1 0 1 1 2 B 非BCD码(错)怎么办? 需进行十进制调整: 0 0 0 1 1 0 0 0 +) 0 0 0 0 0 0 1 1 (个位大于9,应进1) (加 6使进1) (结果形如出21) 0 0 0 1 1 0 1 1 +)0 1 1 0 0 0 1 0 0 0 0 1 (1) BCD码加法规则 两个BCD数相加时,“某位”的和小于10则保持不变; 两个BCD数相加时,“某位”的和大于9,则和数应加6修正。 (2) BCD码减法规则 两个BCD数相减时,“某位”的差未发生借位,则差数保持不变; 两个BCD数相减时,“某位”发生了借位,其差应减 6修正。 这里“某位”指BCD数中的“个位”、“十位”、“百位”、 0 1 1 0 0 1 0 1(65)0 0 1 1 0 1 0 0(34) + ) 1 0 0 1 0 1 1 1(97)-) 0 0 0 1 0 1 0 1(15) 1 1 1 1 1 1 0 0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论