20155231 cho2 课下作业

20155231 cho2 课下作业

2

调用附图代码,编写一个程序 “week0602学号.c",用show_int(), show_float()打印一下你的4位学号,参考教材P33打印出匹配的位序列。

3

  1. 编写一个程序 “week0603学号.c",运行下面代码:
  2. short int v = -学号后四位
  3. unsigned short uv = (unsigned short) v
  4. printf("v = %d, uv = %u\n ", v, uv);
  5. 在第三行设置断点用gdb调试,用p /x v; p /x uv 查看变量的值,提交调试结果截图,要全屏,要包含自己的学号信息.
  6. 分析p /x v; p /x uv 与程序运行结果的不同和联系 运到问题

  • 课上运到的问题:直接输入了p /x v; p /x uv 查看变量,没有用run运行。
  • 学到的:short int 和unsigned short储存的值一样。

2.96

int float_f2i(float_bits f);

对于浮点数f,这个函数计算(int)f。如果f是NaN,你的函数应该向零舍入。如果f不能用整数表示(例如,超出表示范围,或者它是一个NaN),那么那么函数应该返回0x80000000。
测试你的函数,对参数f可以取的所有2^32个值求值,将结果与你使用的机器的浮点运算得到的结果相比较。

代码执行实现这些指定的浮点运算的位操作,用unsigned 类型模拟int去运算浮点数的转换,将一个float类型转换为整数,用unsigned实现一个float数转换为intt时的位级表示。

2.97

float_bits float_i2f(int i);

对于函数i,这个函数计算(float)i的位级表示。
测试你的函数,对参数f可以取的所有2^32个值求值,将结果与你使用的机器的浮点运算得到的结果相比较。

代码执行实现这些指定的浮点运算的位操作,用unsigned 类型模拟float去运算浮点数的转换,将一个int类型转换为浮点数,用unsigned实现一个int数转换为float时的位级表示。

代码链接

posted @ 2017-10-29 12:08  名字最难取  阅读(202)  评论(0编辑  收藏  举报