200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 华中科技大学计算机系统基础实验3报告 华中科技大学计算机系统基础实验报告...

华中科技大学计算机系统基础实验3报告 华中科技大学计算机系统基础实验报告...

时间:2022-08-01 20:17:06

相关推荐

华中科技大学计算机系统基础实验3报告 华中科技大学计算机系统基础实验报告...

华中科技大学计算机系统基础实验报告

1 课 程 实 验 报 告 课程名称: 计算机系统基础 专业班级: 学 号: 姓 名: 指导教师: 报告日期: 5月 24 日 计算机科学与技术学院2 目录 实验1: .2 实验2: .9 实验3: .22 实验总结 301 实验1: 数据表示 1.1 实验概述本实验的目的是更好地熟悉和掌握计算机中整数和浮点数的二进制编码表 示。 实验中,你需要解开一系列编程“难题”——使用有限类型和数量的运算操 作实现一组给定功能的函数,在此过程中你将加深对数据二进制编码表示的了解。 实验语言:c; 实验环境: linux 1.2 实验内容需要完成 bits.c 中下列函数功能,具体分为三大类:位操作、补码运算和 浮点数操作。 1.3 实验设计源码如下: /* * lsbZero - set 0 to the least significant bit of x * Example: lsbZero(0 x87654321) = 0 x87654320* Legal ops: ! ~ x = x>* Max ops: 62* Rating: 2*/ int byteNot(int x, int n) {//x第n个字节每位都和1异或实现取反int y = 0 xff;n = n>* Max ops: 20* Rating: 2 */ int byteXor(int x, int y, int n) {//把x和y的第n个字节取出来异或,再转换为逻辑的0和1n = n>n;y = y>>n;x = xy = yreturn !!(x^y); } /* * logicalAnd - x return x; } /* * logicalOr - x || y* Legal ops: ! ~ return x; } /* * rotateLeft - Rotate x to the left by n* Can assume that 0 > !* Max ops: 25* Rating: 3 */ int rotateLeft(int x, int n) {//先构造低n位为1,高(32-n)位为0的数z,x左移n位后的数加上x右 移(32-n)位的数z = ~(((1>31)>(32+(~n+1)))y = x>31;return !(!y); } /** mul2OK - Determine if can compute 2*x without overflow* Examples: mul2OK(0 x30000000) = 1* mul2OK(0 x40000000) = 0* * Legal ops: ~ m = ((x>>31)return m^0 x1; } /** mult3div2 - multiplies by 3/2 rounding toward 0,

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。