Найти - Пользователи
Полная версия: XOR и вообще битовые операции
Начало » Python для новичков » XOR и вообще битовые операции
1
Alexey_mne31
Здравствуйте. Учу phyton 2 день.
Есть большая трудность. Решаю простейшие задачи, среди них наткнулся на вот такую:

Написать функцию XOR_cipher, принимающая 2 аргумента: строку, которую нужно зашифровать, и ключ шифрования, которая возвращает строку, зашифрованную путем применения функции XOR (^) над символами строки с ключом. Написать также функцию XOR_uncipher, которая по зашифрованной строке и ключу восстанавливает исходную строку.

С нее начались проблемы. до этого все казалось элементарным.
Попытался выполнить код из вложенной картинки. Естественно, выдал ошибку.
Поиск в интернете о функции XOR не дал результата (с самой функцией все ясно - но только на примерах целых чисел)
Я понимаю, что мне не хватает обычной теории, как все устроено.
Помогите, пожалуйста, дайте ссылку на теорию, как все устроено, чтобы я понимал суть двоичного когда и кодирования символов в нем, а также суть работы XOR с текстом, строками, кортежами…

Возможно, вопрос некорректен, но, думаю, шарящие люди поймут суть моей проблемы (образование авиационное - инженер, с информатикой - по школьным вершкам, но ОЧЕНЬ ХОЧУ ПЕРЕПРОФИЛИРОВАТЬСЯ)
py.user.next
Alexey_mne31
С нее начались проблемы. до этого все казалось элементарным.
Попытался выполнить код из вложенной картинки. Естественно, выдал ошибку.
Надо сначала символы перевести в числа, потом над числами провести операцию xor, а потом результат операции снова в символ перевести.

Например
  
>>> ch1 = 'a'
>>> ch2 = 'b'
>>> ch3 = ''
>>> 
>>> ch3 = chr(ord(ch1) ^ ord(ch2))
>>> ch3
'\x03'
>>>

Alexey_mne31
Возможно, вопрос некорректен, но, думаю, шарящие люди поймут суть моей проблемы (образование авиационное - инженер, с информатикой - по школьным вершкам, но ОЧЕНЬ ХОЧУ ПЕРЕПРОФИЛИРОВАТЬСЯ)
Чтобы перепрофилироваться, школьного уровня будет маловато. А у тебя даже школьного уровня нет. Я имею в виду не ту школьную информатику, когда ты ходишь на информатику, а училка ставит тебе оценки просто так, потому что сама ничего не знает, и ты как бы вот так информатику узнаёшь и сдаёшь её в итоге. Я имею в виду ту информатику, которая действительно преподаётся в школе, когда её преподаёт тот, кто учился на эту специальность, - учитель информатики. У нас часто бывает так просто, что в школах информатику преподают учителя математики или учителя физики, которые сами не знают, с какой стороны компьютер включается. Операция XOR - это школьный уровень. Выйдя из школы (окончив школу), ты уже должен знать, что это такое. Понимаешь, в чём прикол? Вот такое у тебя образование.

Alexey_mne31
образование авиационное
А там тебя школьной информатике не учат. Зачем? Ты же школу окончил, где всё это узнал якобы. Вот поэтому ты инженер, который не знает, что такое XOR.
Alexey_mne31
Я это понимаю, и в первом сообщении написал, что тупо нет базы. Поэтому и прошу - может кто-то подскажет учебник путевый или ресурс, чтобы эту базу освоить. Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот, а такой, в котором доступно описаны необходимые основы.
py.user.next
Alexey_mne31
Не такой, который берешь - и приходится читать еще 20 учебников, чтобы понять этот
Так ты бери эти двадцать, читай их, а потом бери этот первый и тогда ты с него получишь что-то. Понимаешь, в чём прикол? Это не в атоме нет энергии, это мы её добыть оттуда не можем.

Возьми Лутца и читай его книжку по питону. На ней либо питон нарисован, либо крыса нарисована. Не факт, что там есть операция XOR, но я думаю, что про операцию XOR классические материалы тебе будет о-о-очень скучно читать. Ты просто не вывезешь. А потом уже, когда втянешься, когда тебе интересно будет всем этим заниматься, тогда ты сможешь и книжку по таким вещам взять. Потому что без мотивации ты и трёх страниц не протянешь. Там просто вещей побольше всяких, чем просто XOR и прочие мелочи. XOR - это ерунда ещё.
xam1816
Alexey_mne31
Решаю простейшие задачи, среди них наткнулся на вот такую:
Начни с понятия,как вообще компьютер хранит информацию,т.е. постарайся понять что за магия там внутри происходит
AD0DE412
py.user.next
ставит тебе оценки просто так, потому что сама ничего не знает, и ты как бы вот так информатику узнаёшь и сдаёшь её в итоге
кхм кхм .. то раньше было у дидов
сча
егэ огэ
ты либа сдаешь
либо проходишь … мима
ось такі справи
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB