C # разделить два двоичных числа - PullRequest
6 голосов
/ 05 марта 2010

Возможно ли в C # разделить два двоичных числа. Все, что я пытаюсь сделать, это:

Получить целочисленное значение в двоичном формате, см. Ниже

int days = 68;
string binary = Convert.ToString(days, 2);

а как вы делите двоичные числа? какой формат следует использовать?

01000100 / 000000100 = 4

Немного смущен, любая помощь будет отличной.

Ответы [ 5 ]

8 голосов
/ 05 марта 2010
// convert from binary representation
int x = Convert.ToInt32("01000100", 2);
int y = Convert.ToInt32("000000100", 2);

// divide
int z = x / y;

// convert back to binary
string z_bin = Convert.ToString(z, 2);
3 голосов
/ 05 марта 2010
int a = Convert.ToInt32("01000100", 2);
int b = Convert.ToInt32("000000100", 2);
int c = a / b;

и, кстати, ответ dec: 17 вместо dec: 4

2 голосов
/ 05 марта 2010

Если вы пытаетесь замаскировать биты вместе, вы захотите использовать оператор &

// convert from binary representation
int x = Convert.ToInt32("01000100", 2);
int y = Convert.ToInt32("000000100", 2);

// Bitwise and the values together
int z = x & y; // This will give you 4

// convert back to binary
string z_bin = Convert.ToString(z, 2);
2 голосов
/ 05 марта 2010

это просто:

x / y

вам не нужно конвертировать целое число в двоичную строку с помощью

int days = 68;
string binary = Convert.ToString(days, 2);

числа являются двоичными в памяти.

или я вас не понял

0 голосов
/ 01 декабря 2013

Это поможет вам.

 namespace BinaryExample1
        {
        class Program
        {
        static void Main(string[] args)
        {
        int i = Convert.ToInt32("01000100", 2);
        int j = Convert.ToInt32("00000100", 2);
        int z;
        z = i / j;
        Console.WriteLine(z);
        Console.ReadLine();
        }
        }
        }
...