Int类型整数8,右移32位。原值:800000000000000000000000000001000第一次右移:00000000000000000000000000000100第二次右移:00000000000000000000000000000010第三次右移:0000000...
Int类型整数8,右移32位。
原值:8 0000 0000 0000 0000 0000 0000 0000 1000
第一次右移: 0000 0000 0000 0000 0000 0000 0000 0100
第二次右移: 0000 0000 0000 0000 0000 0000 0000 0010
第三次右移: 0000 0000 0000 0000 0000 0000 0000 0001
第四次右移: 0000 0000 0000 0000 0000 0000 0000 0000 1
说明:经过四次右移,二进制数1已经被移除32位以外了,而且java的右移并不是循环右移,为什么int类型整数8经过右移32位后,结果还是8 ?我比较笨,希望回答者能像我这样用例子说话,这样我也能看明白,谢谢!
D:\java>javac TestBina.java
D:\java>java TestBina
int:8,binary:
00000000000000000000000000001000
int:4,binary:
00000000000000000000000000000100
int:2,binary:
00000000000000000000000000000010
int:1,binary:
00000000000000000000000000000001
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
int:0,binary:
00000000000000000000000000000000
以下省略了,各位可以自己
展开