在java中实现循环数组字节移位的最佳方法是什么?
如果移位并不总是相同,即我可能必须使用相同的函数来调整 2 或 4 个字符的大小,那么将字节数组的值循环移位 2 个位置 * 一个参数的好方法是什么?这就是我到目前为止所得到的
for(int j=0; j<param; j++){
if(j == 0){
for(int i=0; i<myArray.length;i++){
result[i] = (byte) (myArray[i]<<2);
}
} else{
for(int i=0; i<result.length;i++){
if((result.length-i) > 2){
result[i] = (byte) (result[i]<<2);
}
}
}
}
总结,我必须将 myArray 的值循环移位两次参数,并将结果返回到数组“结果”中。当参数“param”不固定时,我不知道如何执行此操作。
If the shifting is not always the same, i.e I may have to use the same function to resize 2 or 4 characters, what would be a good way to circular shift the values of an array of bytes 2 positions * a parameter? This is what I have so far
for(int j=0; j<param; j++){
if(j == 0){
for(int i=0; i<myArray.length;i++){
result[i] = (byte) (myArray[i]<<2);
}
} else{
for(int i=0; i<result.length;i++){
if((result.length-i) > 2){
result[i] = (byte) (result[i]<<2);
}
}
}
}
Summing up, I have to circular shift the values of myArray twice times param and return the result in the array 'result'. I don't get how to do this when the parameter 'param' is not fixed.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
第一:如果可能,请使用 java.util.BitSet 来执行此类任务。
我不确定,但不知何故 BitSet 本身没有转变,但 这个来源 看起来它实现了它。
First: If possible, use java.util.BitSet for tasks like that.
I am not sure, but somehow BitSet itself does not have shift, but this source looks it implemented it.