我有一個有符號的值,例如-7368817 當我投它以字節這將是這樣的:-113 我將它轉換爲無符號字節再見& 0xff
,它將會像現在 我操縱這個字節值和我後想整個迴歸!得到新字節的有符號整數。 :)signed int to unsigned byte,反之亦然
更新
原委:
我有一個形象,這是8位的深度和灰度!這意味着所有像素使用1個字節
BufferedImage image = ImageIO.read(new File("my_grayscal_8bit_photo.jpg"));
int intPixel = image.getRGB(1, 1);
現在提出我需要一些位操作在這個像素,但因爲它是INT我必須將它先字節:
byte bytePixel = (byte) intPixel;
,並使其簽名:
int intPixel2 = bytePixel & 0xff;
現在我做我的位操作,並希望將其轉換爲int,做:
image.setRGB(1, 1, neworiginalint);
我假設你知道java沒有無符號類型(除char之外) – Bozho 2011-04-20 08:02:26
而且一個字節只能保存256個值,即8位的2^8。恕我直言,你可以使用字節作爲無符號,如果你想,你只是不會從Java獲得很多幫助。 – 2011-04-20 08:06:14
順便說一句:如果你可以將每個可能的值放入一個1字節的'byte'中,那麼有一個4字節的'int'會是什麼意思;) – 2011-04-20 08:10:00