2.2 整数数据类型_第1页
2.2 整数数据类型_第2页
2.2 整数数据类型_第3页
2.2 整数数据类型_第4页
2.2 整数数据类型_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

整数数据类型无符号整数任务执行的次数课程的选课人数……位置记数法——十进制十进制系统2862——200,2

1028——8

101位置记数法,或定位数制10,数制中的基数或基位置记数法——二进制无符号整数基数为2,二进制数为0和1使用8位,十进制数字30000111100

27+0

26+0

25+1

24+1

23+1

22+1

21+0

20二进制无符号整数k位数0

2k-1,2k个整数K=80

255,256个整数有符号整数k位,2k个不同的数字,一半表示正数,一半表示负数K=4+1

+7-1

-7剩下2个一个:0-7

+7另一个:?14个如何分配?+1

+7?-1

-7?正数位置记数法k位0

2k-1-1最高位为0k=4的正数二进制表示十进制0000000011001020011301004010150110601117最大的正数:7以0开头负数——原码二进制表示十进制00000000110010200113010040101501106011171000-01001-11010-21011-31100-41101-51110-61111-7k=4,-1

-7?最高位0:正数(+)最高位1:对应的负数(-)负数——反码二进制表示十进制00000000110010200113010040101501106011171000-71001-61010-51011-41100-31101-21110-11111-0k=4,-1

-7?对正数“按位取反”计算4+(-3)采用与十进制加法相同的规则原码表示法 0100(4)

+ 1011(-3) = 1111(-7)反码表示法 0100(4)

+ 1100(-3) =

(1)0000(0)负数——补码二进制表示十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-1k=40+7位置记数法-8-1尽可能使逻辑电路最简单算术逻辑单元算术逻辑单元(ArithmeticandLogicUnit,ALU)两个输入和一个输出不知道所加的两个位组合表示什么采用与十进制加法相同的规则A+(-A)=00101(+5)

+

?(-5) = 0000(0)0101(+5)

+ 1011(-5) = 0000(0)二进制表示十进制000000001100102001130100401015011060111710001001-71010-61011-51100-41101-31110-21111-11000?在对每个数值加0001后,应得到正确的结果1000:-81000(?)

+ 0001(1) = 1001(-7)二进制表示十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-11111、0000、0111、10001111和0000:-1和01111(-1)

+ 0001(1)

=

(1)0000(0)在做补码算术运算时这个进位总是被忽略0111:+71000:-8二进制表示十进制00000000110010200113010040101501106011171000-81001-71010-61011-51100-41101-31110-21111-1K位组合-2k-1

2k-1-10后面跟k-1个1:2k-1-11后面跟k-1个0:-2k-1k个1:-1-A的表示A

+

A的反码 =

11…11(-1)

+

00…01(1) =00…00(0)-A的表示把A的反码加1“取反加1”示例-6的二进制补码表示是什么(采用4位表示)?1.A:+6,01102.A的反码10013.1001

+0001 =

1010(-6)验证0110(6)

+1010(-6) =(1)0000二进制-十进制一个8位的二进制补码数采取如下格式:a7a6

a5a4a3a2a1a01.检查最前面的a70,正数,直接计算1,负数,先“取反加1”2.计算a6

26+a5

25+a4

24+a3

23+a2

22+a1

21+a0

203.如果原数值是负数,加一个负号前缀

将二进制补码整数11110010转换为十进制数值

1.检查最前面一位1,负数,先“取反加1”

000011102.计算1

23+1

22+1

21=143.原数值是负数,加负号前缀“-14”示例十进制-二进制如果一个正的二进制数的最右端的数字为1,这个数为奇数;否则为偶数8位二进制数(正数)a6

26+a5

25+a4

24+a3

23+a2

22+a1

21+a0

20如何找到ai(i=0,1,…6)的值?示例:+123正数,最高位a7:0123=a6

26+a5

25+a4

24+a3

23+a2

22+a1

21+a0

20奇数,a0:1在等式两端同时减去1122=a6

26+a5

25+a4

24+a3

23+a2

22+a1

21在等式两端同时除以261=a6

25+a5

24+a4

23+a3

22+a2

21+a1

20奇数,a1:1在等式两端同时减去160=a6

25+a5

24+a4

23+a3

22+a2

21在等式两端同时除以230=a6

24+a5

23+a4

22+a3

21+a2

20a2=015=a6

23+a5

22+a4

21+a3

20a3=17=a6

22+a5

21+a4

20a4=13=a6

21+a5

20a5=11=a6

20a6=1二进制表示为01111011除2取余

2

123

余数2

61

1低位2

30

12

15

02

7

12

3

121

101高位将余数从高位向低位依次排列1111011正数,最高位为0二进制表示为01111011总结十进制数N,k位补码表示1.将N的绝对值“除2取余”,得到其绝对值的二进制表示;2.如果原来的十进制数为正,在二进制数前加0,得到结果;3.如果原来的十进制数为负,在二进制数前加0,再“取反加1”,得到结果。算术运算加法运算从右到左进行,每次一位每次运算,产生一个“和”与一个“进位”进位在1的后面产生

0011

(3)

+ 0100

(4)

0111

(7)减法运算

0111 (7)

0111

(7)

- 0100

(4) +

1100

(-4)

(1)0011(3)x+x把一个数x加上它自身00111101(61)

+00111101(61)01111010数字向左移了一位61+6161可以表示为0

26+

1

25+

1

24+

1

23+1

22+0

21+

1

2061+61=2

61,可以表示为2

(0

26+

1

25+

1

24+

1

23+1

22+0

21+

1

20)也就是0

27+1

26+1

25+1

24+1

23+0

22+1

21每位上的数字都向左移了一位恰当的位数为减少占用空间,采用恰当的位数表示数值6用4位(0110)用16位(0000000000000110)-6用4位(1010)用16位(1111111111111010)不同长度数值做加法首先必须将它们表示为相同的长度14+(-4)

0000000000001110

+

1100?14+(-4)0000000000001110(14)

+0000000000001100(12)

0000000000011010(26)0000000000001110(14)

+1111111111111100(-4)

0000000000001010(10)

符号扩展用0扩展正数的左端,值不会改变用1扩展负数的左端,值亦不会改变符号扩

温馨提示

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

评论

0/150

提交评论