Archyvas

Įrašai, pažymėti ‘dvejetainiai skaičiai’

Sudėtingas bitų išsitraukimas C#

2010.04.08 Xamas Komentarų: 4

int nibbleRequired = (int)Math.Truncate((double)updateBit / 4);
int reversedChangingHexNibble = oldRegValue.Length - nibbleRequired - 1;
char[] hexBitChar = {'0'};
hexBitChar[0] = oldRegValue[reversedChangingHexNibble];
uint hexBitValue = Convert.ToUInt32(System.Text.Encoding.ASCII.GetString(Encoding.ASCII. GetBytes(hexBitChar)));

Ypač paskutinė eilutė man patinka. Aišku galima SHIFTinti << ir >>, bet toje interpretacijos tas dalykas netinka. :)
Su php užtektų 1 eilutės, pvz. išsitraukti pirmus 3 bitus:
printf(“[%2.3s]\n”, decbin(hexdec(“0EFFA”)));