簡體   English   中英

從整數創建字節

[英]Creating a byte from an integer

我想使用整數創建一個字節。 例如,我有一個4的整數,我想創建一個值為4的字節。

byte test = 134;

我得到一個-122 wheras的字節值,我想要一個簡單的134字節值,以便以后可以將其轉換為ascii。

我不確定如何實現這一目標,但將歡迎您提供任何幫助。 謝謝。

在Java中, byte s被解釋為帶符號(以及intshort s和long s)。 134的無符號字節值與-122的有符號字節值等效。 如果您希望使用byte的無符號值,則可以通過將該值存儲在8位以上的有符號整數中來實現,例如int

byte test = (byte) 134;
int unsignedByteValue = ((int) test) & 0xff;
// now unsignedByteValue == 134

0xff的位掩碼確保unsignedByteValue的低8位為1。 否則,帶負號的符號byte將導致通過負號擴展產生帶負號的int

在Java中,所有字節均已簽名。 它們的值介於-128到127之間。如果您打印出字節,那么您將獲得全部。

但是Java的字符類型不同。 您應該改用以下代碼:

char test = 134;

char類型是無符號的,將容納數字值最大為65,535的字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM