ANDing бинарные представления без знака - PullRequest
0 голосов
/ 06 декабря 2011

Я пытаюсь И две разности двоичного числа. пока что это мой код (я написал в pastebin, так как я не уверен, что получил здесь верстку) http://pastebin.com/FRT6Qig6

Моя проблема в том, что я просто не понимаю, каким должен быть мой ответ. Или даже если мой код работает правильно.

namespace ConsoleApplication1 {
    class Two {
        public void run() {
            byte a = 255;
            byte b = 85;
            byte c;

            a = Convert.ToByte("10101111", 2);  //85
            b = Convert.ToByte("011111111", 2); //255

            c = (byte) (a & b);

            Console.WriteLine
                ("ANDing two bytes  - decimal:{0:D3}  hex:{0:x2}  binary:{1}",
                 c, Convert.ToString(c, 2));

            //wait until next press
            Console.ReadKey();
        }
    }
}

Ответы [ 3 ]

2 голосов
/ 06 декабря 2011

Поскольку все биты в байте включены для беззнакового представления 255 в двоичном формате, ANDing любое однобайтовое значение с 255 вернет ваш ввод без изменений :

0x1 & 0xFF == 0x1
0x2 & 0xFF == 0x2
..
0xFE & 0xFF == 0xFE
0xFF & 0xFF == 0xFF

И становится интереснее только тогда, когда одно из значений не включает каждый бит:

0101 0101 & 0000 1111 == 0000 0101
2 голосов
/ 06 декабря 2011
0 голосов
/ 06 декабря 2011

Каким должен быть мой ответ?

Я продолжу и отвечу на этот вопрос

Таблица истинности для А И В следующая:

Значение AB
1 1 1
1 0 0
0 1 0
0 0 0

Таблица истинности для A ИЛИ B следующая:

Значение AB
1 1 1
1 0 1
0 1 1
0 0 0

...