微机原理考研试卷?

伏子亦伏子亦最佳答案最佳答案

这个题目其实挺老的,但是既然题主提到了,就写一下供参考吧! 需要说明的是,本答案只包含本题的解题过程和解答,并不包含该题的详细解析(如有详细解析需求,欢迎私信)。原因无他,只是本人时间仓促,且水平有限。还请见谅。 试题:假设你要设计一个位域,要求它的大小是64B.那么位域中前5个字的地址必须连续,请写出设计步骤并给出结果。若设计不出,请给出原因。

解答:我按照我的思路来做一下吧!不知道对不对,仅供参考! 因为64个字节就是64个八位一组的位串,所以我只需要构造8个数组即可。每个数组的元素个数就等于每8个字节对应的一个二进制位。然后这八个数组组成一个整数类型,这样就可以通过整数类型的地址得到每一个数组,最终可以通过每一个数组得到64个字节的内容。

所以关键就是怎么构造出满足条件的八个数组。因为位数不足5位就需要补零,所以最终的结果就是补零后的六十四个字节的数组(也就是64个双字)。

因为要满足前五个整数的地址连续,所以最后一个数组的位置就要在第一个数组后面加32(十进制64)才行。否则的话会乱序执行,这样最后得到的数组就不对了。

#include // 这里为了描述方便,直接使用C语言编写,实际上是用汇编来实现的

typedef uint64_t WORD; // 定义整数类型,在这里就是64个位

uint64_t a[8]; // 声明数组,元素个数等于一个字符串里含的字符个数

memset(a,0,sizeof(a)*8); // 初始化数组,全为0

a[0] = ~((WORD)1 > 7)) & ((WORD)1 > 7) | ((WORD)1 << 26)); // 对已经建成的字符串进行修整,保留末尾26个随机位

}

return a; // 最后返回整个字符串

邝芙香邝芙香优质答主

这个题目,你如果考北京航空航天大学的话,那么就是北航出的题 其他学校我不知道(我也没见过) 我当时是10年北邮的卷子 这个题目有答案,但是不能直接抄下来 因为这样很容易被判0分 这个题目要求你把过程做出来 但是你可以把结果写在草稿纸上,因为这样做老师是不会检查你的计算方法的 所以如果你实在不会可以把方法列出来 如果真的最后时间来不及了就把答案背下来然后自己算出结果 最后祝好运! 还有关于计算机考研的问题可以私信我哦~也可以关注我的专栏 关于计算机考研、复试、调剂、调剂复试的相关问题都有的哦~

我来回答
请发表正能量的言论,文明评论!