SORU
23 AĞUSTOS 2009, Pazar


C bayt# int[]

byte[] int Bir çok dönüştürmek için ihtiyacınız varsa BitConverter.GetBytes() kullanabilirim. Ama eğer bu takip etmeliyim:

S imzalı bir tamsayı bir tamsayı kodlar 32-bit veri. aralığı [-2147483648,2147483647]. Tamsayı temsil edilmektedir iki gösterim tamamlayacak. En çok ve en az önemli bayt Ve 3, sırasıyla 0. Tam sayılar aşağıdaki gibi bildirilir

Kaynak: RFC1014 3.2

Ne yöntemi bu yöntem ise yok o zaman kullanmalıyım? Nasıl kendi yazarsanız benzer miydi?

Kendim uygulamak istemiyorum çünkü metin 100% anlamıyorum.

CEVAP
23 AĞUSTOS 2009, Pazar


RFC sadece imzalı bir tamsayı bayt büyük indian bir şekilde sipariş ile 4 baytlık bir tamsayı normal olduğunu söylemeye çalışıyorum.

Şimdi, muhtemelen en az indian bir makine üzerinde çalışıyoruz ve BitConverter.GetBytes() byte[] ters verecektir. Deneyebilirsiniz:

int intValue;
byte[] intBytes = BitConverter.GetBytes(intValue);
Array.Reverse(intBytes);
byte[] result = intBytes;

En taşınabilir olması için kod için ancak böyle olabilir

int intValue;
byte[] intBytes = BitConverter.GetBytes(intValue);
if (BitConverter.IsLittleEndian)
    Array.Reverse(intBytes);
byte[] result = intBytes;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Best Quality Cartoons

    Best Quality

    10 ŞUBAT 2014
  • MADFINGER Games a.s.

    MADFINGER Ga

    21 NİSAN 2009
  • ParryGripp

    ParryGripp

    12 AĞUSTOS 2006