SORU
22 HAZİRAN 2009, PAZARTESİ


Nasıl sayısal değeri (Java) için bir bayt dizisi dönüştürmek için?

8 bayt bir dizi var ve karşılık gelen sayısal değeri dönüştürmek istiyorum.

örneğin

byte[] by = new byte[8];  // the byte array is stored in 'by'

// CONVERSION OPERATION
// return the numeric value

Yukarıda dönüştürme işlemi gerçekleştirecek bir yöntem istiyorum.

CEVAP
22 HAZİRAN 2009, PAZARTESİ


İlk bayt varsayarak en az önemli bayt:

long value = 0;
for (int i = 0; i < by.length; i  )
{
   value  = ((long) by[i] & 0xffL) << (8 * i);
}

İlk ve en önemli bayt, sonra biraz daha farklı

long value = 0;
for (int i = 0; i < by.length; i  )
{
   value = (value << 8)   (by[i] & 0xff);
}

Eğer 8'den fazla bayt varsa uzun BigInteger ile değiştirin.

Aaron sayesinde hatalarımı düzeltme için Digulla.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • andony5589

    andony5589

    7 Aralık 2011
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • Watcher3223

    Watcher3223

    15 Kasım 2007