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 判断机器是否进行算数右移的主要内容,如果未能解决你的问题,请参考以下文章
计算机组成原理 王道考研2021 第二章:数据的表示和运算 -- 定点数的运算(移位加减运算溢出判断符号扩展)