Pergunta

Como você digitar literais binários em VB.NET?

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

Solução

Você poderia defini-lo como corda e, em seguida, analisá-lo:

myBin = Convert.ToInt32("1010101010", 2)

Outras dicas

A partir de VB.NET 15 agora há suporte para literais binários:

Dim mask As Integer = &B00101010

Você também pode incluir sublinhados como separadores de dígitos para tornar o número mais legível, sem alterar o valor:

Dim mask As Integer = &B0010_1010

Você não.

VB.NET suporta decimal (sem prefixo), octal (com prefixo &O), e hexadecimal (com prefixo &H) literais inteiro diretamente.

Expandindo resposta de codymanix ... Você poderia envolver isso em uma extensão em cordas, e adicionar a verificação de tipo ...
algo ao longo das linhas de:

<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

Isso permite que, em seguida, em qualquer lugar você tem uma série de valor binário, diga "100101100101", você pode fazer:

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

Note que para usar , você deve importar System.Runtime.CompilerServices , e ser executado em Framework 3.5 ou posterior.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top