2013-01-10 14 views
5

Mam ciąg ośmiu 1 i 0 z odstępami pomiędzy, coś jak "1 0 0 1 1 0 1 0", które chcę przekonwertować na int. Czy istnieje prosty sposób na zrobienie tego? Czuję, że zrobi to jakaś analiza linq, ale nie wiem nawet, co zrobić z postaciami, kiedy je znajdę.Konwertuj reprezentację ciągów liczby binarnej na int w C#

+0

Aby wyjaśnić, ciąg '1 0 0 1 1 0 1 0' powinien zostać przeanalizowany jako dwie, czterobitowe wartości:' 1001' i '1010'. Następnie konwertowane na hex. Poprawny? –

Odpowiedz

14

Nie potrzebujesz żadnego LINQ.
Convert.ToInt*() pobiera opcjonalny fromBase parametr, który musi wynosić 2, 8, 10 lub 16.

Convert.ToInt32("1 0 0 1 1 0 1 0".Replace(" ", ""), 2) 
+0

To sprawia, że ​​jest to bardzo prosty problem, hah. Dzięki wielkie! – MLavine

1

alternatywą dla @ odpowiedź SLaks męska (ale tylko do analizowania HEX) jest

Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber); 

Jest nie ma odpowiednika binarnego, więc jest to lepsza odpowiedź ogólnego przeznaczenia.

+0

Myliłem się. Usunięto wcześniejszy komentarz. – Tilak

Powiązane problemy