我正在阅读 Stroustrup 的 TCPPPL。它给出了一个提取 32 位长的 middle 16 位的函数示例,如下所示:
unsigned short middle(long a){ return (a>>8)&0xffff;}.
我的问题是:它不是提取last 16 位吗?告诉我我哪里错了。
最佳答案
它确实提取了中间的 16 位:
// a := 0b xxxx xxxx 1111 1111 1111 1111 xxxx xxxx
a>>8; // 0b 0000 0000 xxxx xxxx 1111 1111 1111 1111
&0xffff // 0b 0000 0000 0000 0000 1111 1111 1111 1111
关于c++ - 提取 32 位长的中间 16 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50523929/