Merhaba arkadaşlar ufak bi kod yazıyorum
fakat bir türlü çözemedim gitti,
2 Tane karakteri CharToHex olarak Hex'e çevirdim, bu 2 HEX değerini birbirleriyle
XOR ederek sonucu ekrana yazdırmam gerekiyor bu konuda yardımcı olabilirseniz çok
sevinirim. Şimdiden herkeze teşekkürler.
Saygılarımla,
2 Değeri XOR Lama
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
Re: 2 Değeri XOR Lama
Bu şekilde yapamazsınız. Hex'e çevrim sonucundaki gösterim string türündedir. Bu da bu şekilde XOR lanamaz. Ancak Bu iki karakterin sayısal değerlerini XOR layıp sonucuda ister Hex, ister Decimal olarak gösterebilirsiniz. Zaten, Hexadecimal de olsa Decimal de olsa hatta Octal da olsa sayıların XOR lanmasıyla oluşan sonuç matematiksel değer olarak aynıdır.
Ancak şunu yapabilirsin... Malum delphide HEX sayılar başına "$" işareti konarak kullanılabiliyor. Yani; "Sayi := $4A" gibi.. Buradan yola çıkarak şöyle yapabiliriz.
var s1,s2: string;
xn, n1,n2: integer;
begin
s1 := '1C'; // rastegele seçilmiş/hex 'e çevrilmiş bir sayı ...
s2 := '2B'; // rastegele seçilmiş/hex 'e çevrilmiş ikinci bir sayı ...
s1 := '$' + s1; // Başına $ işareti ekliyoruz ki sayıya çevirebilelim
s2 := '$' + s2; // ..::::::::::..
n1 := StrToint(s1); // bu işlem sonunda hex olan, s1'in değeri n1'e sayı (decimal) olarak atanır.
n2 := StrToint(s2);
xn := n1 xor n2; // bir zamanlar hex olan iki sayı bu şekilde XOR 'lanabilir.
showMessage(intTostr(xn));
showMessage(intTohex(xn,2)); // yada bunun sonucunu hex olarak ta gösterebilirsin.
end;
Ancak şunu yapabilirsin... Malum delphide HEX sayılar başına "$" işareti konarak kullanılabiliyor. Yani; "Sayi := $4A" gibi.. Buradan yola çıkarak şöyle yapabiliriz.
var s1,s2: string;
xn, n1,n2: integer;
begin
s1 := '1C'; // rastegele seçilmiş/hex 'e çevrilmiş bir sayı ...
s2 := '2B'; // rastegele seçilmiş/hex 'e çevrilmiş ikinci bir sayı ...
s1 := '$' + s1; // Başına $ işareti ekliyoruz ki sayıya çevirebilelim
s2 := '$' + s2; // ..::::::::::..
n1 := StrToint(s1); // bu işlem sonunda hex olan, s1'in değeri n1'e sayı (decimal) olarak atanır.
n2 := StrToint(s2);
xn := n1 xor n2; // bir zamanlar hex olan iki sayı bu şekilde XOR 'lanabilir.
showMessage(intTostr(xn));
showMessage(intTohex(xn,2)); // yada bunun sonucunu hex olarak ta gösterebilirsin.
end;