Gå til innhold

C#: Splitte byte til hi byte og low byte


Anbefalte innlegg

Skrevet

Jeg ønsker å splitte en 2 byte til sine respektive hi and low nibbles slik som dette:

 

byte: 0xAB

Hi: 0xA

Lo: 0xB

 

Har laget meg en kode som gjør dette:

  // Denne skal slittes i 0xA og 0xB
 byte b = 0xAB;

 // Hi byte, får verdien 10 eller 0xA
 int hi = b / 0x10;

 //Lo byte, får verdien 11 eller 0xB
 int lo = b % 0x10;

 

 

Men lurte på om C# har en funksjon som gjør dette automatisk. Vet at i Delphi kan man bruke Hi(i) og Lo(i), finnes det noe tilsvarende i C#?

Videoannonse
Annonse
Skrevet (endret)

void SplitByte(byte input, out byte hi, out byte low)

{

hi = input >> 4;

low = input & 0xF;

}

 

 

Edit: skrivefeil...

Endret av jorn79
Skrevet

Takker for raskt svar igjen :)

Måtte bare forandre output til int, virke som C# ikke vil regne med byte..

 

Regner med denne er raskere en mitt forslag??

Skrevet

Nå skal den virke med byte.

 

void SplitByte(byte input, out byte hi, out byte low)
{
  hi = (byte)(input >> 4);
  low = (byte)(input & 0xF);
}

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...