Merhaba Arkadaşlar,
40 haneli 2 hexadecimal sayıyı toplayıp sonucu yine hexadecimal olarak verebilir miyiz? malum int64 19 karakter, farklı yolları var mıdır bu işin fikri olan yardımcı olursa çok sevinirim.
HEXADECIMAL TOPLAMA
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: HEXADECIMAL TOPLAMA
Öcelikle toplamak istediğin hexadecimal sayıları decimal'e cevirip aşağıdaki kodlarla istediğin kadar haneyi birbiri ile toplayabilirsin ve sonra tekrar hexadecimal'e cevirebilirsin aşağıda yazdığın kodlarda önemli olan iki değerinde uzunluğu aynı olması sen 40 haneli 2 tane sayıyı nasıl toplayabilirim dediğin için böyle yaptım. birbirinden farklı sayılarda toplatılabilir. biraz daha değiştirmek gerekir.
AnsiReverseString fonksiyonunu kullanabilmek için uses kısmına StrUtils eklemelisin.
AnsiReverseString fonksiyonunu kullanabilmek için uses kısmına StrUtils eklemelisin.
Kod: Tümünü seç
function topla(deger1,deger2:string):string;
var
sayi1, sayi2, sonuc:String;
toplam, elde, kalan, i:integer;
begin
elde := 0;
kalan := 0;
toplam := 0;
sayi1 := AnsiReverseString(deger1);
sayi2 := AnsiReverseString(deger2);
for i := 1 to Length(sayi1) do
begin
toplam := StrToInt(sayi1[i]) + StrToInt(sayi2[i]) + elde;
if toplam >= 10 then
begin
kalan := toplam - 10;
elde := 1;
sonuc := sonuc + IntToStr(kalan);
if i = Length(sayi1) then
begin
sonuc := sonuc + ('1');
end;
end
else
begin
sonuc := sonuc + IntToStr(toplam);
elde := 0;
end;
end;
result := AnsiReverseString(sonuc);
end;
Re: HEXADECIMAL TOPLAMA
Merhaba örnek için teşekkür ederim. dediğiniz gibi istediğimiz büyüklükteki 2 sayıyı toplayabiliyor. benim yaptığım hexadecimali decimale çevirme fonksiyonu yine belli bir karaktere kadar çeviriyor. AnsiReverseString fonksiyonu bu çeviriyede yardımcı olabilirmi acaba
Re: HEXADECIMAL TOPLAMA
AnsiReverseString fonksiyonu string değişkende bulunan değerleri tersten yazdırmak için kullanılan fonksiyon sen hexadecimal değerleri decimal'e çevirmek için kullandığın fonksiyonu buraya yaz onada bakalım büyük ihtimal senin gönderdiğin hexadecimal değerleri direk integer olarak geriye döndürmeye çalıştığı için fazla gelen karakterler sorun çıkartıyodur string olarak geriye döndürürsek bir sorun yaşanacağını sanmıyorum.
Re: HEXADECIMAL TOPLAMA
Toplama işini çözdüm. Linkte lazım olan arkadaşlar faydalanabilir.
Karakter uzunlukları farklı sayıları toplatabilseydik daha anlamlı bir fonksiyon haline gelirdi. Javs yardımın için teşekkür ederim.
Eğer farklı karakter uzunluklarını toplama ile ilgili bir yöntemin olursa paylaşırsan sevinirim. Çok teşekkürler.
https://mega.co.nz/#!9lADwYKC!KprS9cA12 ... thxJocvzOk
Karakter uzunlukları farklı sayıları toplatabilseydik daha anlamlı bir fonksiyon haline gelirdi. Javs yardımın için teşekkür ederim.
Eğer farklı karakter uzunluklarını toplama ile ilgili bir yöntemin olursa paylaşırsan sevinirim. Çok teşekkürler.
https://mega.co.nz/#!9lADwYKC!KprS9cA12 ... thxJocvzOk