<分区>
我需要一种方法来仅使用运算符在 32 位整数(最高有效位)中找到符号位! ~ & ^ | +。我只允许使用最大为 0xFF 的常量,但可以构造更大的数字。而且必须是内联代码,不能有循环和条件
是的,这是一个作业,但这不是全部问题,它只是我需要检查的一个小案例。
我知道我可以通过执行 x>>31 来获得符号,这可以使用除法来完成,但这只会导致需要更多我无法使用的位移 :(
运算符(operator)越少越好,因为我只允许 10 人来完成整个问题,这只是一个小案例。
这是为了检查数字 x 是否等于 0x7FFFFFFF 的问题。我的代码现在的读取方式是 [(is x neg?) & (is x+1 negative)]。如果 x 等于 0x7FFFFFFF,则加 1 将使缓冲区溢出,导致 x 变为负数。但这种逻辑只有在 x 事先不为负时才有效。因此是第一部分。
请帮帮我???