位移是否有限制?位移是否有限制?
public static void main(String args[])
{
int i=10;
System.out.println(i<<32);
}
輸出爲10
但我知道它的不正確。
回答應該是10 * 2 32 = 4.29 * 10
這是爲什麼?
位移是否有限制?位移是否有限制?
public static void main(String args[])
{
int i=10;
System.out.println(i<<32);
}
輸出爲10
但我知道它的不正確。
回答應該是10 * 2 32 = 4.29 * 10
這是爲什麼?
是,換檔因子由modulo'ed:
char
,short
或int
。long
。
Java int是一個32位,二補數有符號整數;我很驚訝你的prorgam的輸出是10 ... – fge
@Nipun但你的答案不適合int ... – Leo
你可以檢查另一個類似的問題[http://stackoverflow.com /questions/14817639/java-bit-operations-shift](http://stackoverflow.com/questions/14817639/java-bit-operations-shift) – Devavrata