2.62 判断机器是否进行算数右移

Posted lonelytraveler

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.62 判断机器是否进行算数右移相关的知识,希望对你有一定的参考价值。

//csapp 2.62

#include <stdio.h>                                                                                                                                                                 
//算数右移返回1,否则返回0
int int_shifts_are_arithmetic() 
{
    //return !~(-1>>1);
    unsigned int w = sizeof(int)<<3;
    return !~(1<<(w-1)>>(w-1));
}

int main(void)
{
    printf("expect:1, result:%d
", int_shifts_are_arithmetic());
}

以上是关于2.62 判断机器是否进行算数右移的主要内容,如果未能解决你的问题,请参考以下文章

2.63 还原算数右移,逻辑右移

2.63 还原算数右移,逻辑右移

GNU汇编逻辑或算数左移右移

计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- 定点数的运算(移位加减运算溢出判断符号扩展)

2018-2019-1 20165302 《信息安全系统设计基础》第三周学习总结

计算机组成原理——移位运算