习题(移位运算)

来源:互联网 发布:看美剧用什么软件 编辑:程序博客网 时间:2024/06/06 14:12

编写一个函数 int_shifts_are_arithmetic(), 若机器对int使用算术右移,返回1.否则返回0.

 

 

 

说明:(sizeof(int))<<3 可求出机器中int类型的位数.算法中求出:把-1右移(sizeof(int)-1)<<3位。即把-1的最高有效字节移到最右端。因为-1<0,则其余位填充0(若逻辑右移)或1(若算术右移)。把结果和0x10进行与运算,可提取出从右往左数第2个字节的最低位,从而可以进行判断。

原创粉丝点击