编写一个返回16位表达式

时间:2018-05-21 04:38:49

标签: c

以下问题摘自练习6,第7章,关于C的书。

  1. 编写一个函数,从32位表达式中提取每个其他位的位置。结果应作为16位表达式返回。您的功能应该适用于具有2字节或4字节字的计算机。
  2. 现在我对这个问题有两点不明白:

    • 这是什么意思,“提取其他所有位置”?我真的不明白这一点。例如,32位表达式:00000001 00000000 00000000 10011110,什么可以“提取其他位位置”呢?
    • 这个问题似乎与自己相矛盾:“从32位表达式中提取每个其他位位置”,然后“你的函数应该在具有2字节或4字节字的机器上工作”,但只有2字节字16位表达式;如何从“同时”32位和16位的表达式中提取每个其他位位置?

    这个问题确实没有任何意义。与Kochan撰写的C prorgamming相比,我真正讨厌这本书的其中一件事是,我在理解它的问题时没有任何问题,因此对于运动问题的理解非常密集。或者可能是我只是愚蠢!

1 个答案:

答案 0 :(得分:2)

"每隔一点"表示每个位0,2,4,6 ...或位1,3,5,7 ...

如果从32位开始并相互取位,则结果为16位。