binary sayılar
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
binary sayılar
edit elemanına yazdığım bir sayıyı(birler ve sıfırlardan oluşan) ikilik tabanda algılanmasını nasıl sağlarım...
- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
Re: binary sayılar
selam arkadaşlar.fth_murat yazdı:edit elemanına yazdığım bir sayıyı(birler ve sıfırlardan oluşan) ikilik tabanda algılanmasını nasıl sağlarım...
benim de böyle bir problemim var edite gireceğim veriler 1 ve 0 lardan oluşmakta bunları hexe çevirmem lazım ama henüz bunu başarabilmiş değilim. yeni konu açmadım çünkü bu problem daha önce belirtilmiş. yardımlarınızı bekliyorum arkadaşlar çünkü artık düşünemez oldum ya

- fatihtolgaata
- Üye
- Mesajlar: 382
- Kayıt: 04 Mar 2004 09:46
- Konum: K.çekmece / İstanbul
- İletişim:
Denemeden yazıyorum. Hatalar olabilir. Algoritma verimli de olmayabilir. Sadece mantığını göstermek için veriyorum. Aşağıdaki fonksiyonda BinaryText parametresinin sadece 1 ve 0'larda oluşmuş olması size kalmış.
Kod: Tümünü seç
function BinaryToHex(BinaryText: string): string;
const
HexVals: array[0..15, 0..1] of string = (
('0000', '0'), ('0001', '1'), ('0010', '2'), ('0011', '3'), ('0100', '4'),
('0101', '5'), ('0110', '6'), ('0111', '7'), ('1000', '8'), ('1001', '9'),
('1010', 'A'), ('1011', 'B'), ('1100', 'C'), ('1101', 'D'), ('1110', 'E'),
('1111', 'F')
);
var
Dortlu: string;
Basamak, i: Integer;
begin
Result:='';
Basamak := Length(BinaryText);
//Basamak 4'ün katı değilse diye başına 0 ekleriz. Çünkü ileride 4 haneli şekilde çevirme yapacaz.
BinaryText := DupeString('0', Basamak mod 4) + BinaryText;
while Length(BinaryText) > 0 do
begin
Dortlu := Copy(BinaryText, Length(BinaryText) - 3, 4);
Delete(BinaryText, Length(BinaryText) - 3, 4);
for i:=1 to 16 do
if Dortlu = HexVals[i - 1, 0] then
Result := HexVals[i - 1, 1] + Result;
end;
end;