【发布时间】:2014-03-23 15:50:12
【问题描述】:
我试图在不使用比较运算符的情况下检查一个数字是否为负。我正在尝试检查最重要的位。我正在做以下事情:
int x = -5;
Console.WriteLine(x >> 31);
我期望输出是1。但我得到-1。什么解释了这种行为?
【问题讨论】:
-
这必须是重复的。让我去找一个.. 编辑:实际上找不到一个好的骗子。但是这个问题的答案应该会有所帮助:stackoverflow.com/q/1499647
-
右移运算符将其第一个操作数右移第二个操作数 (MDSN) 指定的位数。它涉及位,我认为我没有为您提供最好的解释,但我相信这篇文章可以帮助您 - MDSN。
-
请不要在问题标题中包含有关所用语言的信息,除非没有它就没有意义。标记用于此目的。
标签: c# bit-manipulation