سؤال

وكيف اكتب الحرفية الثنائية في VB.NET؟

&HFF          // literal Hex -- OK
&b11111111    // literal Binary -- how do I do this?
هل كانت مفيدة؟

المحلول

هل يمكن تعريفه كسلسلة ثم تحليل ذلك:

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

نصائح أخرى

واعتبارا من VB.NET 15 هناك الآن دعم لالحرفية ثنائية:

Dim mask As Integer = &B00101010

ويمكن أن تشمل أيضا سفلية فواصل أرقام لجعل عدد أكثر قابلية للقراءة دون تغيير القيمة:

Dim mask As Integer = &B0010_1010

وأنت لا تفعل ذلك.

وVB.NET يدعم عشري (بدون اختصار)، ثماني (مع بادئة &O)، وعشري (مع بادئة &H) <وأ href = "http://msdn.microsoft.com/en-us/library/aa711649 ( VS.71) .ASPX "يختلط =" noreferrer "> الحرفية صحيح مباشرة.

والتوسع في الإجابة 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 ، أو وتكون قيد التشغيل في إطار 3.5 أو في وقت لاحق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top