Существует не тип данных «двоичный». Существует один класс, который позволяет обрабатывать биты BitVector32
Или вы можете просто преобразовать двоичное значение из string
(текста) к int
// binary , base
int binary = Convert.ToInt32("00000101", 2);
Вы можете создать Binary
класс, если вам действительно хотят, а затем перегружают операторов, примерно так:
public class Binary
{
private int value;
public Binary(int value)
{
this.value = value;
}
public static implicit operator Binary(string b)
{
return new Binary(Convert.ToInt32(b, 2));
}
public static explicit operator int(Binary b)
{
return b.value;
}
public static Binary operator +(Binary a, Binary b)
{
return new Binary(a.value + b.value);
}
}
И вот у этого
Binary bin1 = "0001"; // 1
Binary bin2 = "0010"; // 2
Binary result = bin1 + bin2; // 3
int integerResult = (int)result; // 3
Я чувствую много вопросов в самом вопросе. Один 0/1 является логическим (false/true), некоторые из них могут быть либо сохранены в BitArray, либо как один бит в байте. Для нескольких байтов потребуется байтовый массив (Byte []). Тем не менее, для вас доступны _no_ числовые (добавление, вычитание, умножение, деление) операторов, поскольку это всего лишь куча бит, и никто не знает, являются ли они целыми числами, одиночными точками точности или числовой системой до быть изобретен. Код, работающий с двоичными значениями в не двоичных типах (String), является плохим. – sisve