ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.02.2008, 01:34
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме:
5265510

Репутация: 455


По умолчанию

да
 
Ответить с цитированием

  #12  
Старый 19.02.2008, 02:05
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


Отправить сообщение для zl0y с помощью ICQ
По умолчанию

var s1,s2 : string;
i : byte;
begin
s1:='01234';
s2:='56789';
for i:=1 to 5 do begin
s1[i]:=chr(ord(s1[i]) xor ord(s2[i]));
s2[i]:=chr(ord(s1[i]) xor ord(s2[i]));
s1[i]:=chr(ord(s1[i]) xor ord(s2[i]));
end;

На асме сложнее если надо могу подумать
 
Ответить с цитированием

  #13  
Старый 19.02.2008, 02:18
zl0y
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме:
2869410

Репутация: 925


Отправить сообщение для zl0y с помощью ICQ
По умолчанию

На асме помему без привлечения 3 переменной не реально если переменные - строки,для байтов еще возможно
mov eax,byte ptr [s1+ecx]
mov ebx,byte ptr [s2+ecx]
xchg eax,ebx
mov byte ptr[s1+ecx],ebx
mov byte ptr [s2+ecx],eax

Если смотреть как мы видим этот текст то тут нету третьей переменной,но если смотреть с уровня процессора и математической логики то она есть т.к все равно число для обмена засовываеться в стек или в переменную,даже если предположить что xchg это что то тройного XOR'a то все равно должна быть переменная где храниться промежуточный результат,поправьте если я не прав,мне почему то так кажеться

Все таки все верно

Тоесть если у нас два числа 1234,5678
и мы запишем в первый разряд второго числа первый разряд первого числа,то первый разряд второго числа мы потеряем.

Последний раз редактировалось zl0y; 19.02.2008 в 02:31..
 
Ответить с цитированием

  #14  
Старый 19.02.2008, 15:19
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме:
5265510

Репутация: 455


По умолчанию

zlOy
спсибо я в асме дуб дубом ну вроде врублся вто что ты написал =)
 
Ответить с цитированием

  #15  
Старый 23.02.2008, 00:28
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

мне сегодня препод из универа сказал что в питоне есть гениальная логическая конструкция
Код:
a , b = b , a
 
Ответить с цитированием

  #16  
Старый 23.02.2008, 01:30
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

незнаю правильно ли я понял
x+=y;
y=x-y;
x-=y;
 
Ответить с цитированием

  #17  
Старый 23.02.2008, 01:43
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
Провел на форуме:
5265510

Репутация: 455


По умолчанию

Jes
былоб это в паскале =)

nc.STRIEM

не совсем =)
здесь у тебя не получится что
x:=x;
y:=y;
 
Ответить с цитированием

  #18  
Старый 23.02.2008, 01:44
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

x=a y=b
после действий что я написал будет x=b y=a
 
Ответить с цитированием

  #19  
Старый 23.02.2008, 02:06
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

хы , для строк:
Код:
a:= 'one';
b:= 'two';

      a:= a + b;
      b:= Copy(a, 1, length(a)-length(b));
      a:= Copy(a, length(a)-length(b)+1, length(a)-length(b));
хотя фактичеки памяти это убьет гораздо больше чем новая переменная , имхо

Последний раз редактировалось Jes; 23.02.2008 в 10:57..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшой креатиФчик. ArmageddonPro Авторские статьи 1 15.01.2008 08:58
Отключить комп до моего прихода Debian Windows 27 27.12.2007 00:06
Возможно ли поменять шаблон форума через админку _lolik_ Форумы 13 04.02.2006 02:23
Многопоточность в Unix KEZ С/С++, C#, Delphi, .NET, Asm 11 10.08.2005 18:29
Ваш ник, второе значение )) OLIVER Болталка 49 22.06.2005 20:51



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ