Как ввести буквенный двоичный файл в VB.NET? - PullRequest
8 голосов
/ 13 сентября 2009

Как вы вводите двоичные литералы в VB.NET?

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?

Ответы [ 4 ]

8 голосов
/ 13 сентября 2009

Вы можете определить его как строку, а затем проанализировать:

myBin = Convert.ToInt32("1010101010", 2)
7 голосов
/ 25 апреля 2017

Начиная с VB.NET 15 теперь поддерживается двоичные литералы:

Dim mask As Integer = &B00101010

Вы также можете включить подчеркивания как разделители цифр, чтобы сделать число более читабельным без изменения значения:

Dim mask As Integer = &B0010_1010
6 голосов
/ 13 сентября 2009

Расширение ответа codymanix ... Вы можете заключить это в расширение для строк и добавить проверку типа ...
что-то вроде:

<Extension> Public Function ParseBinary(target As String) As Integer  
    If Not RegEx.IsMatch(target, "^[01]+$") Then Throw New Exception("Invalid binary characters.")  

    Return Convert.ToInt32(target, 2)  
End Function

Это позволяет тогда, где бы у вас ни была строка двоичного значения, скажем «100101100101», вы можете сделать:

Dim val As Integer = "100101100101".ParseBinary()  

Обратите внимание, что для использования необходимо импортировать System.Runtime.CompilerServices и работать на Framework 3.5 или более поздней версии.

6 голосов
/ 13 сентября 2009

Вы не.

VB.NET поддерживает десятичные (без префикса), восьмеричные (с префиксом &O) и шестнадцатеричные (с префиксом &H) целочисленные литералы напрямую.

...