家庭作业
2.55 在你能够访问的不同机器上,使用show_bytes(文件show-bytes.c)编译并运行示例代码。 确定这些机器使用的字节顺序。
2.56 试着用不同的示例值来运行show_bytes的代码。
2.57 编写程序show_short、show_long和show_double,它们分别打印类型为short int、long int和double的C语言对象的字节表示。请试着在几种机器上运行。
2.58 编写过程is_little_endian,当在小端法机器上编译和运行时返回1,在大端法机器上编译运行时则返回0。这个程序应该可以运行在任何机器上,无论机器的字长是多少。
2.59 编写一个C表达式,使它生成一个字,由x的***有效字节和y中剩下的字节组成。对于运算数x=0x89ABCDEF 和 y=0x76543210,就得到 0x765432EF。
2.60 假设我们将一个w位的字中的字节从0(***位)到w/8-1(***位)编号。写出下面C函数的代码,它会返回一个无符号值,其中参数x的字节i被替换成字节b:
unsigned put_byte (unsigned x, unsigned char b int i);
以下的一些示例,说明了这个函数该如何工作:
【责任编辑:董书 TEL:(010)68476606】
点赞 0