Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Xorowanie

Ostatnio zmodyfikowano 2012-08-06 20:25
Autor Wiadomość
Drraven
Temat założony przez niniejszego użytkownika
Xorowanie
» 2012-08-03 22:21:30
Co to do licha jest i jak to zrozumieć?
btw. mam adresy w pamięci aplikacji podane w ten sposób:
$7B0054;
$945000;
$97CE9C;
$7B00A8;
$7B0058;
Delphiowy zapis wg. mnie i tak jest ale do tego dochodzi xorowanie, i teraz pytanie jak to odxorować by mieć adres rzędu:
0x0000000
?
P-61686
DejaVu
» 2012-08-05 18:27:09
C/C++
( a ^ b ) ==( a & ~b )
Co do zera:
C/C++
( a ^ a ) == 0
Czyli:
C/C++
( a & ~a ) == 0
P-61796
pekfos
» 2012-08-05 18:30:29
P-61797
Elaine
» 2012-08-06 20:06:38
C/C++
( a ^ b ) ==( a & ~b )
Nie, to są różne operacje.
0 ^ 1 = 1
, ale
0 & ~1 = 0
.
P-61869
DejaVu
» 2012-08-06 20:25:25
@up: masz rację... mój błąd. http://pl.wikipedia.org/wiki/Binegacja

C/C++
#include <cstdio>

unsigned xor1( unsigned a, unsigned b )
{
    return( ~a & b ) |( a & ~b );
}

unsigned xor2( unsigned a, unsigned b )
{
    return a ^ b;
}

int main()
{
    for( unsigned a = 0; a < 0xff; ++a )
    for( unsigned b = 0; b < 0xff; ++b )
    if( xor1( a, b ) != xor2( a, b ) )
         printf( "ZONK!\n" );
   
    return 0;
}
P-61872
« 1 »
  Strona 1 z 1