Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 28
1

Оператор XOR для значений, заданных строками

19.10.2016, 22:16. Показов 1724. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ребята помогите работать с бинарним кодом Вопрос такой
Допустим у меня есть несколько строки с бинарним цифрами
string s1="01110101110101101";
string s2="01011110110110100";
string s3="10111010010010110";

Мне нужен часть кода которое будет сделать ее бинарним и считать это s1^s2^s3 где это ^ - модуль 2 XOR битовоя операция
в маем случае код должен считать это
01110101110101101^01011110110110100^10111010010010110
Длина всех строк равна. Помогите разбираться Пожалуйста

Добавлено через 2 минуты
Можно хотя бы функцию какое то которое получает 2 такие строки считатет их ^ XOR а потом возвращает такое же строка
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.10.2016, 22:16
Ответы с готовыми решениями:

Оператор для xor шифрования
Разматриваю пример шифрования, возник детский вопрос ^ что делает этот оператор?

Вычисление значения функции для каждого из заданных значений параметра а, при всех заданных x
Сотавить и отладить программу вычисления функции для каждого из заданных значений параметра а и при...

Составить схему алгоритма и программу для вычисления значений функции F для заданных значений переменной x и постоянных a, b. (а=2, b=3)
Составить схему алгоритма и программу для вычисления значений функции F для заданных значений...

составить приложение для вычисления значений переменных у и z для заданных пользователем значений переменной x и констант а, b, с
Задание: составить приложение для вычисления значений переменных у и z для заданных пользователем...

7
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,344
Записей в блоге: 1
19.10.2016, 22:52 2
Hakob1997, Convert.ToInt32("", 2) -> ^ -> Convert.ToString(int, 2)
0
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 28
20.10.2016, 18:33  [ТС] 3
Что это делает? у меня есть 2 строки s1 s2 их XOR надо считать где тут они используются?
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,344
Записей в блоге: 1
20.10.2016, 18:48 4
Hakob1997, открыть документацию по указанным методам очень тяжело, да?
C#
1
2
3
string s1 = "1010";
string s2 = "1011";
string result = Convert.ToString(Convert.ToInt32(s1, 2) ^ Convert.ToInt32(s2, 2), 2);
0
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 28
20.10.2016, 20:51  [ТС] 5
Спасибо получилось еще если можешь скажи
у меня было строка такая s1="text" я сделал ее бинарним а потом текстовой
теперь есть такая строка
допустим s2="10111010010010110" как ее можно образтно сделать такой как s1 менять на текст?
на
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,344
Записей в блоге: 1
20.10.2016, 21:02 6
Hakob1997, а как ты превратил "text" в бинарную строку?
0
0 / 0 / 0
Регистрация: 29.08.2015
Сообщений: 28
20.10.2016, 21:05  [ТС] 7
C#
1
2
3
4
5
6
7
8
9
10
11
static string StringToBinary(string data)
        {
 
            StringBuilder sb = new StringBuilder();
 
            foreach (char c in data.ToCharArray())
            {
                sb.Append(Convert.ToString(c, 2).PadLeft(8, '0'));
            }
            return sb.ToString();
        }
0
Администратор
Эксперт .NET
17019 / 13372 / 5217
Регистрация: 17.03.2014
Сообщений: 27,344
Записей в блоге: 1
20.10.2016, 23:35 8
Hakob1997, тогда обратное преобразование можно сделать так
C#
1
2
3
4
5
6
7
8
9
static string BinaryToString(string binary)
{
    var sb = new StringBuilder(binary.Length/8);
    for (int i=0; i<binary.Length; i+=8)
    {
        sb.Append((char)Convert.ToInt32(binary.Substring(i,8), 2));
    }
    return sb.ToString();
}
Однако подобная схема будет работать только для символов с code point < 256. Русские буквы сюда не входят. Нужно изменить StringToBinary и BinaryToString на использование хотя бы 16 битов или переключиться на класс Encoding и байты.
альтернативное решение
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
static string StringToBinary(string text)
{
    byte[] buf = Encoding.UTF8.GetBytes(text);
    var sb = new StringBuilder(buf.Length*8);
    for (int i=0; i<buf.Length; i++) sb.Append(Convert.ToString(buf[i],2).PadLeft(8, '0'));
    return sb.ToString();
}
 
static string BinaryToString(string binary)
{
    var buf = new byte[binary.Length/8];
    for (int i=0; i<buf.Length; i++)
    {
        buf[i] = Convert.ToByte(binary.Substring(i<<3,8), 2);
    }
    return Encoding.UTF8.GetString(buf);
}
0
20.10.2016, 23:35
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.10.2016, 23:35
Помогаю со студенческими работами здесь

вычислить для заданных с клавиатуры значений целых значений а, x значения выражения. С++

Вычислить и распечатать таблицу значений заданных функций для указанных значений
для всех х, меняющихся с шагом hx=0.5 и всех y, меняющихся с шагом hy=0,25 вычислить и распечатать...

Разработать программу вычисления значений заданных функций для произвольных значений исходных данных
Разработать программу вычисления значений заданных функций для произвольных значений исходных...

Разработать программу вычисления значений заданных функций для произвольных значений исходных данных
Разработать программу вычисления значений заданных функций для произвольных значений исходных...

Разработать программу вычисления значений заданных функций для произвольных значений исходных данных
Разработать программу вычисления значений заданных функций для произвольных значений исходных...

Разработать программу вычисления значений заданных функций для произвольных значений исходных данных
Разработать программу вычисления значений заданных функций для произвольных значений исходных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru