Автор Puzon задал вопрос в разделе Другие языки и технологии
Вопрос по xor на Си и получил лучший ответ
Ответ от [гуру]
Для начала.. . Тип переменных должен быть Byte... (Зачеркнуть)
int B= 0x65;
int A= 0x29;
int C = A ^ B ;
printf("C=%d ",C,"
");
int D = C ^ A ;
printf("D=%d",D);
Во - Вторых во время отладки (для себя для того, чтобы разобраться) неплохо было бы выводить все 4 переменных после каждого вычисления (на первых порах - не помешает...; -)
Krab Bark -> Я не в курсе, я "Дельфин" 😉
Ответ от Krab Bark[гуру]
"Скорее всего я как-то не так задаю сами числа"
Вообще-то это запись в десятичной системе счисления.
Серж, в С нет типа byte...
P.S. Вот тебе твой тест в работающем виде (числа в десятичном виде)
#include<stdio.h>
main(){
int B= 01100101, A= 00101001, C = A ^ B, D = C ^ A;
printf("C=%d D=%d B=%d",C,D,B); getchar();}
P.S. "Krab Bark -> Я не в курсе, я "Дельфин" ;-)"
Привет морскому собрату 🙂
"Скорее всего я как-то не так задаю сами числа"
Вообще-то это запись в десятичной системе счисления.
Серж, в С нет типа byte...
P.S. Вот тебе твой тест в работающем виде (числа в десятичном виде)
#include<stdio.h>
main(){
int B= 01100101, A= 00101001, C = A ^ B, D = C ^ A;
printf("C=%d D=%d B=%d",C,D,B); getchar();}
P.S. "Krab Bark -> Я не в курсе, я "Дельфин" ;-)"
Привет морскому собрату 🙂
Ответ от Shade[гуру]
1. по-уму то надо использовать не int, а беззнаковый тип, хотя в данном случае на результате это никак не отразится, в ряде случаев может только на том, что выведет printf в таком варианте.
2. int B=01100101; т. е. B=1100101, т. е. B+1=1100102. Я хочу сказать, что это не бинарное представление числа, а самое что нинаесть десятичное. Чтобы это записать в бинарях: unsigned char B=0b1100101;
3. по поводу printf - тут тоже лучше использовать беззнаковое или шестнадцатиричное представление:
printf("C=%u (0x%X)
", C, C); // если С объявлен как unsigned или signed int (в данном случае не имеет никакого значения)
или
printf("C=%hhu (0x%hhX)", C, C); // что правильней для знакового или беззнакового char
To Капитан Гугл,
правда чтоли? ты б хоть почитал чего-нибудь чтоли, прежде чем херню всякую писать.
1. по-уму то надо использовать не int, а беззнаковый тип, хотя в данном случае на результате это никак не отразится, в ряде случаев может только на том, что выведет printf в таком варианте.
2. int B=01100101; т. е. B=1100101, т. е. B+1=1100102. Я хочу сказать, что это не бинарное представление числа, а самое что нинаесть десятичное. Чтобы это записать в бинарях: unsigned char B=0b1100101;
3. по поводу printf - тут тоже лучше использовать беззнаковое или шестнадцатиричное представление:
printf("C=%u (0x%X)
", C, C); // если С объявлен как unsigned или signed int (в данном случае не имеет никакого значения)
или
printf("C=%hhu (0x%hhX)", C, C); // что правильней для знакового или беззнакового char
To Капитан Гугл,
правда чтоли? ты б хоть почитал чего-нибудь чтоли, прежде чем херню всякую писать.
Ответ от Капитан Гугл[гуру]
Вообще-то, в C/C++ на 0 начинаются восьмиричные литералы (что, Краб и shade, съели?) , а двоичных нет вообще.. . Так что или добавляй свою функцию вывода, или учись читать шестнадцатиричные (восьмиричные были актуальны для 9-битовых байтов, сейчас не используемых) :
int B= 0x65;
int A= 0x29;
int C = A ^ B ;
printf("C=%x
",C); //но выводить 16-ричные, как и 8-ричные через %o, можно
int D = C ^ A ;
printf("D=%x",D); //или cout << "D=" << hex << D;
Вообще-то, в C/C++ на 0 начинаются восьмиричные литералы (что, Краб и shade, съели?) , а двоичных нет вообще.. . Так что или добавляй свою функцию вывода, или учись читать шестнадцатиричные (восьмиричные были актуальны для 9-битовых байтов, сейчас не используемых) :
int B= 0x65;
int A= 0x29;
int C = A ^ B ;
printf("C=%x
",C); //но выводить 16-ричные, как и 8-ричные через %o, можно
int D = C ^ A ;
printf("D=%x",D); //или cout << "D=" << hex << D;
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Вопрос по xor на Си
спросили в Delphi Textron
Существуют ли в Delphi стандартные хэш-функции? Например, как MD5 в PHP.
Вот модуль, вычисляющий MD5 в Delphi. Полностью могу прислать по почте. Если надо - пиши ( :-))))
подробнее...
Существуют ли в Delphi стандартные хэш-функции? Например, как MD5 в PHP.
Вот модуль, вычисляющий MD5 в Delphi. Полностью могу прислать по почте. Если надо - пиши ( :-))))
подробнее...
спросили в Шифр
XOR шифрование. Как работает этот алгоритм (каким образом он шифрует)
примере программы на Delphi.
var key, text, longkey, result : string;
i :
подробнее...
XOR шифрование. Как работает этот алгоритм (каким образом он шифрует)
примере программы на Delphi.
var key, text, longkey, result : string;
i :
подробнее...
Как это расшифровать? ибо что это? mov ax,2C16h mov bx,0ECC8h not bx xor ax,bx not ax ax = ? bx = ?
Это ассемблер.
Нажимаем Win+R вводим debug нажимаем enter
видим черное окошко
подробнее...
спросили в G Unit Inheritance
какие символы входят в состав алфавита языка паскаль
строчные и прописные латинские буквы:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
подробнее...
какие символы входят в состав алфавита языка паскаль
строчные и прописные латинские буквы:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
1.Найти количество двоек в разложении натурального числа М на простые множители.
Решение в QBasic
INPUT "Введите М: "; M
c = 0
DO WHILE M MOD 2 = 0
M = M / 2
подробнее...
ИНФОРМАТИКА Помогите!!!
Эльф, оператор "^" - это побитовый оператор исключающий ИЛИ (XOR), не путайте с возведением в
подробнее...
спросили в Цифры
Кто придумал арабские цифры?
Цифры современной десятичной системы носят название арабских, поскольку европейцы заимствовали их у
подробнее...
Кто придумал арабские цифры?
Цифры современной десятичной системы носят название арабских, поскольку европейцы заимствовали их у
подробнее...
спросили в Цикл
С++, Чем отличаеться цикл for, от while?
По сути своей мало чем отличаются, нюансами - сильно отличаются.
while (условное выражение)
подробнее...
С++, Чем отличаеться цикл for, от while?
По сути своей мало чем отличаются, нюансами - сильно отличаются.
while (условное выражение)
подробнее...
Подскажите немецкие торент - трекеры для скачивания фильмов на немецком языкея не живу в Германии
Смотри здесь
Все равно прийдется кучу ссылок перебирать, но вот первый сайт который
подробнее...
спросили в ITBA
Деление отрицательного числа. Ассемблер
Денис Евдоченко, не обижайтесь, но здесь нужно просто правильно применить знаковое деление, а не
подробнее...
Деление отрицательного числа. Ассемблер
Денис Евдоченко, не обижайтесь, но здесь нужно просто правильно применить знаковое деление, а не
подробнее...