Tag: short

从int到short的可能有损转换

我已将数组gx,数组arr定义为短类型。 但是为什么左边的操作可能会以int类型结束,我必须把它简化为什么? 编译器错误可能是从int到short的有损转换。 这是我的代码。 public PixImage sobelEdges() { short gy=0; for(int x=1;x<width-1;x++){ for(int y=1;y<height-1;y++){ // if(x=){ for(int z=0;z<3;z++){ gx[x][y][z]=arr[x-1][y-1][z]-arr[x+1][y-1][z]+2*arr[x-1][y][z]-2*arr[x+1][y][z]+arr[x-1][y+1][z]-arr[x+1][y+1][z]; } // } } } return this; // Don't forget to use the method mag2gray() above to convert energies to // pixel intensities. } 是因为所谓的unbox? 所以这意味着我每次进行手术都需要施放?

java short,integer,long performance

我读到JVM存储内部短,整数和长4字节。 我从2000年的一篇文章中读到它,所以我不知道它现在是多么真实。 对于较新的JVM,使用short over integer / long是否有任何性能提升? 自2000年以来,实施的这一部分是否发生了变化? 谢谢

在Java中从short转换为byte,反之亦然

我正在尝试将短路转换为2个字节…然后从这2个字节尝试获得相同的短路值。 为此,我写了这段代码: short oldshort = 700; byte 333= (byte) (oldshort); byte byte2= (byte) ((oldshort >> 8) & 0xff); short newshort = (short) ((byte2 << 8) + byte1); System.out.println(oldshort); System.out.println(newshort); 对于700(oldshort)的值,newhosrt是444.经过一些测试后,它看起来像这样的代码只适用于某些值。 就像…如果oldshort = 50,那么它将正常工作..但如果它是-200,或更大的值超过127(我认为)它不起作用。 我想有签名的字节,二的补码值等问题……但我无法弄清楚如何解决它。 任何的想法?? 在java中以任何本地方式执行此操作? 提前致谢!

Java – 从Int到Short的显式转换

有人可以解释为什么以下声明: short value = (short) 100000000; System.out.println(value); 给我: 16960 知道Java中short的最大值是32767是否正确?

在Java中溢出Short

我有一个关于Java中的short数据类型的问题。 我知道短期的范围在-32768到32767之间。 因此,如果我尝试添加两个超出范围的短值,则结果最终为假定的总减去正范围或负范围乘以2,如下所示: short a = 30000; a = (short) (a+a); 结果是-5536 。 所以数学是32768 + 32768 = 65536,6000 – 65536 = -5536 。 我知道它的作用,但我不知道为什么会这样做。 任何人都可以解释逻辑或为什么Java这样做?