Tôi thực sự bối rối về điều này. Trong C# có định dạng biểu diễn hằng số thập lục phân như sau:C# hằng số nhị phân đại diện
int a = 0xAF2323F5;
có định dạng biểu diễn hằng số nhị phân không?
Tôi thực sự bối rối về điều này. Trong C# có định dạng biểu diễn hằng số thập lục phân như sau:C# hằng số nhị phân đại diện
int a = 0xAF2323F5;
có định dạng biểu diễn hằng số nhị phân không?
Tính đến C# 7 bạn có thể đại diện cho một giá trị văn chương nhị phân trong mã:
private static void BinaryLiteralsFeature()
{
var employeeNumber = 0b00100010; //binary equivalent of whole number 34. Underlying data type defaults to System.Int32
Console.WriteLine(employeeNumber); //prints 34 on console.
long empNumberWithLongBackingType = 0b00100010; //here backing data type is long (System.Int64)
Console.WriteLine(empNumberWithLongBackingType); //prints 34 on console.
int employeeNumber_WithCapitalPrefix = 0B00100010; //0b and 0B prefixes are equivalent.
Console.WriteLine(employeeNumber_WithCapitalPrefix); //prints 34 on console.
}
Thông tin bổ sung có thể được tìm thấy here.
Không, không có chữ nhị phân nào trong C#. Bạn có thể phân tích cú pháp một chuỗi trong định dạng nhị phân bằng cách sử dụng Convert.ToInt32, nhưng tôi không nghĩ rằng đó sẽ là một giải pháp tuyệt vời.
int bin = Convert.ToInt32("1010", 2);
Tôi sẽ để câu hỏi mở trong vài giờ nhưng đây là câu trả lời đầu tiên, nếu nó chứng minh là đúng, nó sẽ được chọn làm câu trả lời chính thức. Cảm ơn bạn. –
Đó là sự thật ... cũng có thể chấp nhận ngay bây giờ. –
Đúng, hoạt động và hữu ích trong hầu hết các trường hợp. Thật không may nó không hoạt động nếu bạn đang sử dụng nó trong một 'switch (myVariable) {case bin: Console.WriteLine (" value detected "); phá vỡ; } 'statement, vì' case' chỉ cho phép các hằng số. – Matt
Bạn thể sử dụng một phương pháp khuyến nông:
public static int ToBinary(this string binary)
{
return Convert.ToInt32(binary, 2);
}
Tuy nhiên, cho dù đây là khôn ngoan Tôi sẽ để lại tùy thuộc vào bạn (vì thực tế nó sẽ hoạt động trên bất kỳ chuỗi).
Kể từ Visual Studio 2017, các số nhị phân như 0b00001 được hỗ trợ.
Ý của bạn là gì? const int a = 2938315765; – Paco
Cảm ơn bạn, tôi đoán kết quả của bạn là chính xác nhưng tôi đã tìm kiếm giải pháp hệ thống. Tôi có nên gửi một câu hỏi stackoverflow cho mỗi nhị phân liên tục tôi cần phải chuyển đổi? –
.. ví dụ 10110011 –