Jak mogę przekonwertować BitArray
na pojedynczy int
? Najszybszy sposób, pls ...Jak mogę przekonwertować BitArray na pojedynczy int?
Odpowiedz
private int getIntFromBitArray(BitArray bitArray)
{
if (bitArray.Length > 32)
throw new ArgumentException("Argument length shall be at most 32 bits.");
int[] array = new int[1];
bitArray.CopyTo(array, 0);
return array[0];
}
Wow ... Nie sądziłem, że to działa, aby umieścić wszystkie bity w jednej wartości całkowitej - ale tak jest! – codekaizen
Skorzystaj z tego: http://codereview.stackexchange.com/questions/3796/converting-binary-value-od-bitarray-to-an-int-and-back-in-c/3797#3797 Musisz sprawdzić długość z bitArray – Ngm
Dodano sprawdzanie argumentów. –
private int getIntFromBitArray(BitArray bitArray)
{
int value = 0;
for (int i = 0; i < bitArray.Count; i++)
{
if (bitArray[i])
value += Convert.ToInt16(Math.Pow(2, i));
}
return value;
}
Czy możesz wyjaśnić, dlaczego OP powinien używać tego w stosunku do innego rozwiązania? –
@AustinHenley Napisałem to rozwiązanie do celów debugowania. Mogę przejść przez mój kod, aby przekonać się, jak konwertowany jest ten numer. Nie jestem pewien, czy możesz to zrobić za pomocą pierwszego rozwiązania. – K4KNOWLEDGE
Warto również wiedzieć, że pierwsze rozwiązanie nie jest dostępne na WinRT (prawdopodobnie z powodu sposobu, w jaki procesory ARM zapisują numery). –
nawiązujący do tego postu (# 43935747). Wartość X to krótka wartość, dla której ustawiłem dwa bity (6 i 10), jak poniżej: krótka X = 1;
var result = X;
var bitsToSet = new [ ] { 5,9 };
foreach (var bitToSet in bitsToSet)
{
result+=(short) Math.Pow (2,bitToSet);
}
string binary = Convert.ToString (result,2);
Teraz chciałbym przeczytać specyficzna wszystkie bity od wartości X i umieścić go do tablicy lub typu trochę jak bool VAL1 = Bit1, bool wart2 = Bit2 ....
I Jestem początkującym i myślę, że to jest całkiem proste dla ciebie guyes ..
OK, ale powinieneś zrobić '| =' i '(short) (1 << bitToSet)', aby było to bardziej oczywiste na pierwszy rzut oka. To nie tak, że ten kod jest niezrozumiały, ale opiera się na kombinacji "starannie wybranych zbiegów okoliczności", zamiast oczywiście robić to, co trzeba. – harold
- 1. Jak przekonwertować int * na int
- 2. Jak uzyskać pojedynczy bajt poza BitArray (bez bajtu [])?
- 3. Jak przekonwertować int na QString?
- 4. Jak przekonwertować char na int?
- 5. Jak przekonwertować int na nsindexpath?
- 6. Jak mogę przekonwertować Int do CString?
- 7. Jak podzielić bitArray
- 8. Jak mogę przekonwertować ciąg [] na listę <int>?
- 9. Jak przekonwertować IntPtr int
- 10. Jak przekonwertować wartość wyliczenia na int?
- 11. Jak przekonwertować Int na NSData w Swift?
- 12. Jak przekonwertować ciąg na int w Pythonie?
- 13. Jak przekonwertować ciąg na float lub int?
- 14. Jak przekonwertować argument wiersza poleceń na int?
- 15. Android jak przekonwertować int na ciąg?
- 16. OCaml - Jak przekonwertować int na string?
- 17. Jak przekonwertować int na bigint w golangu?
- 18. Jak przekonwertować z int na char *?
- 19. Jak przekonwertować QString do int?
- 20. Java przekonwertować obiekt tablicy na int tablicy
- 21. Konwertowanie bajtu C# na BitArray
- 22. Jak mogę przekonwertować bity na bajty?
- 23. przekonwertować ciąg bajtów na int (python)
- 24. Jak przekonwertować wartość int na ciąg w Go?
- 25. Czy mogę zamienić długi na int?
- 26. Jak przekonwertować Long to Int w Kotlin?
- 27. Objective-C, jak przekonwertować double do int?
- 28. Jak przekonwertować z tablicy boolean na int tablicy w python
- 29. Jak przekonwertować z powrotem void * do int
- 30. PHP przekonwertować podwójny cudzysłów na pojedynczy cytowany ciąg
BitArray na int Array lub dosłownie BitArray na jedną liczbę całkowitą? –
Do pojedynczej liczby całkowitej. –