İkilik sistemden onluk sisteme dönüşüm yapan kod

Başlatan command, 06 Eylül 2009 - 23:14:02

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

command

Kod tamamen bana ait belki işinize yarar

program binn;

uses crt;

var
sira : array [0..7] of integer;
toplam,i,numara:integer;
basamak1,basamak2,basamak3,basamak4,basamak5,basamak6,basamak7,basamak8:integer;

begin
highvideo;
textcolor(green);
// numara ekleme
for i:=0 to 7 do
begin
write(i,'. basamak : ');
read(numara);
sira[i]:=numara;
clrscr;
end;

// numara yazdırma
write('Girilen Değer : ');
textcolor(red);
for i:=0 to 7 do
begin
write(sira[i]);
end;
// numara hesaplama
if sira[0]=1 then basamak1:=128;
if sira[1]=1 then basamak2:=64;
if sira[2]=1 then basamak3:=32;
if sira[3]=1 then basamak4:=16;
if sira[4]=1 then basamak5:=8;
if sira[5]=1 then basamak6:=4;
if sira[6]=1 then basamak7:=2;
if sira[7]=1 then basamak8:=1;

toplam:=basamak1+basamak2+basamak3+basamak4+basamak5+basamak6+basamak7+basamak8;
textcolor(blue);
writeln;
write('Sonuc : ',toplam);
normvideo;
halt(0);
end.



Örnek çıktı

Girilen Değer : 10111111
Sonuc : 191


opusxx



  Süper olmuşi beyniniz dert görmesin :)

  .... Peki nasıl kullanılır bu  ::)  :D
nVidia GeForce 8600 GT (512)
Lxde + Awesome wm 3.4.6
philips 109b6 (19 inc )
AMD Athlon(tm) 64 Processor 3000+  1024 ram,

command

pascal ile derledikten sonra konsolda kullanılır

program sizden sırayla sekiz adet 0 veya 1 değerini alır buna göre hesabı yapar

command

kodu biraz değiştirdim ve hex koduna çevirmeyide ekledim ancak hex cevirisi için ayrı bir unit kullanmak gerekli

program bin2dec;
uses crt,baseunix;
var
sira : array [0..7] of char;
cevap:char;
toplam,i,basamak1,basamak2,
basamak3,basamak4,basamak5,
basamak6,basamak7,basamak8:integer;
label basla;

procedure rset;
begin
basamak1:=0;basamak2:=0;
basamak3:=0;basamak4:=0;
basamak5:=0;basamak6:=0;
basamak7:=0;basamak8:=0;
end;

procedure giris;
begin
for i:=0 to 7 do
begin
sira[i]:=readkey;
write(sira[i]);
end;
end;

procedure hesap;
begin
if sira[0]='1' then basamak1:=128;if sira[1]='1' then basamak2:=64;
if sira[2]='1' then basamak3:=32;if sira[3]='1' then basamak4:=16;
if sira[4]='1' then basamak5:=8;if sira[5]='1' then basamak6:=4;
if sira[6]='1' then basamak7:=2;if sira[7]='1' then basamak8:=1;
toplam:=basamak1+basamak2+basamak3+basamak4+basamak5+basamak6+basamak7+basamak8;
writeln(' = ',toplam);
writeln('dec2hex = ', hexstr(toplam,8));
end;

begin
basla:
rset;
clrscr;
highvideo;
textcolor(green);
write('bin2dec : ');
giris;
hesap;
textcolor(white);
writeln('Retry ? Y/N : ');
cevap:=readkey;
if upcase(cevap)='Y' then
goto basla;
normvideo;
halt(0);
end.


çıktısı

bin2dec : 10101011 = 171
dec2hex = 000000AB