簡體   English   中英

c#如何將兩個4位數字存儲到一個字節中

[英]c# how to store two 4 bit numbers into one byte

所以我有兩個 4 bits數字(在 0 和 15 之間):

int a = 1;
int b = 15;

我想將它們存儲到 1 byte

這是我嘗試過的:

byte[] bytesA = BitConverter.GetBytes(a);
byte[] bytesB = BitConverter.GetBytes(b);
byte a = bytesA[0];
byte b = bytesB[1];

一個字節是 8 位,並且您有 2 個 4 位值,您需要移動其中一個值以占用結果字節的高 4 位,如下所示:

byte ab = (byte)((a << 4) | (b & 0xF));

為了得到aab

byte a = (byte)((ab >> 4) & 0xF);

為了獲得bab

byte b = (byte)(ab & 0xF);

暫無
暫無

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

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