计算机组成原理笔记02

*做题笔记1


学习内容:

  1. 教材的思维导图
  2. 课后练习(计算部分)
  3. 中国大学MOOC计算机组成原理(计算部分)

1.教材的思维导图

41eb06b011628b72e7b6a0831573a1ec.png

c5373a7b504a6ff0c70bbbf6c94adac6.png

6472597941b0958b79f1251e50378ac3.png

4708156b4406159b94fc9c716df72809.png

a791e19c76910e08a599db2ff057b700.png

2.课后练习(计算部分) 

1.由3个"1"和5个"0"组成的8位二进制补码,能表示的最小整数是__-125___。

既然要求的是最小整数,那么肯定是负数了,那么第一位可以确定为1,然后根据原反补码的计算规则,可以很轻易的排列出

当 补码=10000011 时,反码=10000010,原码=11111101---> 真值= -125

2.考虑以下C语言代码:

unsigned short usi=65535;

short si=usi;

执行上述程序段后,si的值为___-1____。

unsigned short无符号短整型,占2个字节,而short有符号短整型,占2个字节且第一位为符号位,所以将usi赋值给si时,需要注意符号位,简单来说,就是把usi原码算出来,然后根据符号位将真值算出来,就是si的值。

那么[usi] 补码 =1111 1111 1111 1111

[usi] 反码=1111 1111 1111 1110

[usi] 原码=1000 0000 0000 0001

所以,[si] 真值=-1

3.假定编译器规定int和short类型长度分别为32位和16位,执行下列C语言语句:unsigned short x=65530; unsigned int y=x; 得到y的机器数为___0000FFFAH_____。

根据C语言整型数据类型转换方法:

1.相同字长的整型数据转换:不管是有符号转无符号还是无符号转有符号,机器码不变

2.小字长转大字长:无符号小字长转无符号大字长,机器码零扩展;有符号小字长转大字长,机器码符号扩展

3.大字长转小字长,机器码截断                   ---P37

所以由题意得,unsigned short转unsigned int,无符号小字长转无符号大字长,机器码零扩展。

unsigned short x=1111 1111 1111 1010

unsigned int y=0000 0000 0000 0000 1111 1111 1111 1010=0000FFFAH

4.有如下C语言程序段:short si=-32767; unsigned short usi=si; 执行上述两条语句后,usi的值为__32769___。

根据前面的整数转换方法,这题是第一种情况,

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值