最新回答 / 无言是人心
将传入进去的数字 进行小端法位运算,定义int 就是四个 字节 就是四个八位 所以数组就是定义的长度为4运算过程中,是八位八位的进行运算的。 比如00000000 00000000 10101010 01010101byte[1] 等于第一个低八位 01010101byte[2] 等于第二个第八位 10101010
2017-09-06
最新回答 / include_ice
....將int类拆分为byte类了。因为int是32位,byte是8位所以要拆分为4个byte变量,所以用byte数组来装传进去的int参数,然后返回一个含有4个byte类的数组
2017-08-06
已采纳回答 / Kian_
在计算机中数都是以二进制存在的,你也说了2的二进制为10,其实前面省略了,在java中int型占4个字节,32位,所以2的二进制位 0000 0000 0000 0000 0000 0000 0000 0010 老师讲的时候其实是把前面的0省略了, 这样你再左移,能力有限,只能跟你这样解释 ~.~
2017-07-03
最新回答 / ReginaldLU
这就是编译器给你抛出了数组下标越界异常。应该是在你的main方法中,你调用某一个数组的时候,你的下标超出了你的数组长度,比如说定义一个数组byte[] bs = new byte[4],此时数组中只有bs[0]、bs[1]、bs[2]、bs[3],你却调用了bs[4]这样的。仔细看一下数组,应该就解决了
2017-04-23
已采纳回答 / enthusiastic
可以不加int,我没加代码运行也没问题,但是与操作不能少,另外byte强制类型转换也不能少。因为id是int类型,从范围大的类型到范围小的类型需要强制类型转换。arr[0]=(byte)((id>>0*8)&0xff);
2017-01-29