dekadni u binarni
Prikazujem rezultate 1 do 20 od 20

Tema: dekadni u binarni

  1. #1
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano dekadni u binarni

    Kako da prevedem dekadni broju binarni?

    Svuda ima za prirodne brojeve, a to sam i sam se snasao, deljenje sa dva pa ostatak ili ubacivanje stepena dvojke pa oduzimanje. svejedno oba rade, ali sta da radim sa onim IZA zareza?

    Uradio sam nesto koda i pretvara recimo 0.625, 0.75, 0.5, i slicne kako treba a recimo za 0.87 udje u mrtvu petlju, pa sam ogranicio na max sto cifara i izbaci neki stocifreni niz 1 i 0, i najbudjavije od svega taj broj ne mogu da konvertujem posle u dekadni, izbaci gresku

    Evo vam kod koji prevodi sve to, ono sto nema to je da je edit1 edit kontrola u koju se ukucava broj koji se konvertuje a edit2 je rezultat konverzije
    delphi naravno

    procedure TForm1.Button1Click(Sender: TObject);
    {convert}
    var
    dva,i,poz:integer; {stepen dvojke prilikom konverzije celog dela, 2 4 8}
    vrednost:real; {rezultat}
    ceo:integer; {ceo deo dec broja}
    neceo:real; {deo iza zareza dekadnog broja}
    konvertovan:string; {string u kome se cuva rezultat}
    broj:string; {broj koji se konvertuje, broj=ceo+neceo}
    dvadva:real; {stepen dvojke prilikom konverzije necelog dela, 0.5 0.25}
    cifre:integer; {broj cifara u bin broju iza zareza}
    begin
    if converzija then {ako je konverzija binarni u dekadni, tj deo koda koji pretvara bin u dec}
    begin
    poz:=pos('.',edit1.Text);
    dva:=1;
    vrednost:=0;
    for i:=poz-1 downto 1 do
    begin
    vrednost:=vrednost+StrtoFloat(edit1.text[i])*dva;
    dva:=dva*2;
    end;
    dva:=1;
    for i:=poz to length(edit1.Text) do
    begin
    vrednost:=vrednost+StrToFloat(edit1.Text[i])*(1/dva);
    dva:=dva*2;
    end;
    edit2.Text:=floattostr(vrednost);
    end
    else {ako je dekadni u binarni, tj deo koda za konverziju dekadnog u binarni}
    begin
    {razdvoji na ceo deo i deo iza zareza,
    ceo deo pretvara deljenjem sa dva pa na ostatak,
    neceo deo (iza zareza) pretvara stavljanjem stepena dvojke i oduzimanjem}
    broj:=edit1.text;
    {razdvaja}
    neceo:=strtofloat(copy(broj, pos('.',broj),length(broj)-pos('.',broj)+1));
    ceo:=strtoint(copy(broj, 1, pos('.',broj)-1));
    {pretvara ceo}
    repeat
    konvertovan:=inttostr(ceo mod 2) + konvertovan;
    ceo:=ceo div 2;
    until ceo=0;
    {pretvara neceo}
    dvadva:=0.5;
    konvertovan:=konvertovan+'.';
    cifre:=0;
    repeat
    cifre:=cifre+1; {izbegava mrtvu petlju}
    if dvadva<=neceo then begin
    neceo:=neceo-dvadva;
    konvertovan:=konvertovan+'1';
    end
    else konvertovan:=konvertovan+'0';
    dvadva:=dvadva*0.5;
    until ((neceo=0.0) or (cifre=100));

    edit2.text:=konvertovan;
    end;
    end;



    prijatno




  2. #2
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    primetio sam da se binarni brojevi sa zarezom (ne celi) prevedeni u dekadne zavrsavaju nuzno sa 5

    da li je to znaci da su dekadni racionalni brojevi koji se ne zavrsavaju sa 5 u binarnom sistemu iracionalni?


  3. #3
    Primećen član maksvel (avatar)
    Učlanjen
    30.06.2004.
    Pol
    muški
    Poruke
    778
    Reputaciona moć
    57

    Podrazumevano Re: dekadni u binarni

    Hm, racionalni su racionalni, bez obzira na osnovu... Ako nema petice, to znači da je potrebno ići podaleko udesno, kod binarnog zapisa, da bi se skrpio taj broj od razlomaka 1/4, 1/8, 1/16 itd... Gvirni malo u ovo
    Let the boy try

  4. #4
    Ističe se juznivetar (avatar)
    Učlanjen
    12.02.2005.
    Pol
    muški
    Lokacija
    -
    Poruke
    2.041
    Reputaciona moć
    67

    Podrazumevano Re: dekadni u binarni

    prvi bit desno od zareza je logicno baza^ -1, drugi baza^ -2 itd itd. E sada konverzija dekadnog u binarni realni broj se realizuje na sledeci nacin. Cijeli dio broja se dobija na standardni nacin, djeljenjem broja sa bazom sve dok se ne dobije 0 ostatak, a dio iza zareza se dobija mnozenjem u ovom slucaju sa 2.
    Primjer:
    broj 7.5 =
    7:2
    ----------
    3 - 1
    1 - 1
    0 - 1
    Dakle 7 je '111'
    A iza zareza se dakle mnozi sa 2:
    5*2
    ------
    1. 0 // cita se prema dole lijevo od zareza, dok ostatak je desno od zareza i on se mnozi dalje sa dva sve dok ne bude ostatak 0, u ovom slucaju je ostatak odmah 0, jer je 1*2^-1 = 1 * (1/2) = 0.5

    Tako da gorespomenuti broj 7.5 je binarno 111.1

  5. #5
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    daj mi neki malo slozeniji primer nesto bas nisam najbolje shvatio ovo


  6. #6
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    pogledao sam ono, odlicno. sad mi je jasno

    hvala


  7. #7
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    ali i dalje ne znam da li program ima gresku ili tako i treba da ispadne?

    ako neko ovde hoce da proveri neka ostavi neku adresu da mu pustim ceo delphi projekat, ima sveukupno 200kb zip, 400 kad se raspakuje


  8. #8
    Neproveren član MasterYoda (avatar)
    Učlanjen
    18.08.2006.
    Pol
    muški
    Lokacija
    Very Far Away from Anywhere Else
    Poruke
    4.260
    Reputaciona moć
    0

    Podrazumevano Re: dekadni u binarni

    Južnivetar ti je dobro objasnio osnovu konverzije. Osnovni problem konverzije iz dekadnog u binarni sistem je da ta konverzija ne može biti potpuno tačna odnosno da se ne može svaki racionalni broj iz dekadnog sistema TAČNO predstaviti u binarnom. Najjednostavniji primjer je broj 0,1 u dekadnom sistemu. Tu je on racionalan. Međutim, u binarnom sistemu ne može se tačno predstaviti jer je to
    0,0001100110011001100... itd tj niz 1100 ponavlja se do u beskonačno pa je dekadno 0,1 u binarnom sistemu iracionalan broj. Ne mogu da komentarišem sam kod, mrzi me da čitam kad nije nazubljen jer se lako izgubim, ali je vjerovatno da si dobro odradio dek->bin konverziju. Onu drugu nisam gledao.

  9. #9
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    e yebiga. ako ne uvedem restrikciju za broj cifara ode program u mrtvu petlju znaci?

    hm...

    sad cu da ostavim program na http://peruzzi.dzaba.com/converter.zip ima oo 200 kb ceo delphi projekat pa ako nekom dosadno nek pogleda i proveri sta ne valja, ako ne valja

    ako neko i testira - ukucaj 0.87 i pretvori u binarni, pa onda dobijeni broj pretvori ponovo u dekadni
    meni izbaca gresku


  10. #10
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: dekadni u binarni

    [font=Verdana]Potoji alat koji se zove debugger. Pomenuti alat se nalazi u okviru Delpho razvojnog okruženja, te postaviš breakpoint na početak procedure koju si posla, pokreneš aplikaciju, uneseš broj koji hoćeš da konvertuješ i kada stane na početak pomenute procedure zbog breakpointa, onda korak po korak gledaj šta se dešava.[/font]

  11. #11
    Elita Svabov (avatar)
    Učlanjen
    02.10.2004.
    Pol
    muški
    Poruke
    24.984
    Reputaciona moć
    320

    Podrazumevano Re: dekadni u binarni

    Citat Original postavio MGordan
    Južnivetar ti je dobro objasnio osnovu konverzije. Osnovni problem konverzije iz dekadnog u binarni sistem je da ta konverzija ne može biti potpuno tačna odnosno da se ne može svaki racionalni broj iz dekadnog sistema TAČNO predstaviti u binarnom. Najjednostavniji primjer je broj 0,1 u dekadnom sistemu. Tu je on racionalan. Međutim, u binarnom sistemu ne može se tačno predstaviti jer je to
    0,0001100110011001100... itd tj niz 1100 ponavlja se do u beskonačno pa je dekadno 0,1 u binarnom sistemu iracionalan broj. Ne mogu da komentarišem sam kod, mrzi me da čitam kad nije nazubljen jer se lako izgubim, ali je vjerovatno da si dobro odradio dek->bin konverziju. Onu drugu nisam gledao.
    hmmm
    kako to mislis?
    taj broj u tom slucaju nije 0,0001100110011001100..... vec to zavisi od bitnosti procesora
    Well, of course it's a rat! You have rats in Spain, don't you - or did Franco have them all shot?

  12. #12
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: dekadni u binarni

    [font=Verdana]Bitnost procesora nema nikakve veze u ovom slučaju, jer je reč o teoriji kako se konvertuju brojevi iz binarnog sistema u dekadni i obrnuto.
    [/font]

  13. #13
    Neproveren član MasterYoda (avatar)
    Učlanjen
    18.08.2006.
    Pol
    muški
    Lokacija
    Very Far Away from Anywhere Else
    Poruke
    4.260
    Reputaciona moć
    0

    Podrazumevano Re: dekadni u binarni

    Citat Original postavio bojan p
    Bitnost procesora nema nikakve veze u ovom slučaju, jer je reč o teoriji kako se konvertuju brojevi iz binarnog sistema u dekadni i obrnuto.
    Teorija je OK pa autoru teme ostaje samo da je iskodira kako treba.

    Citat Original postavio Obersturmfuehrer
    hmmm
    kako to mislis?
    taj broj u tom slucaju nije 0,0001100110011001100..... vec to zavisi od bitnosti procesora
    Da razmotrimo malo termine racionalan i iracionalan broj:
    Mi smo navikli da te termine koristimo u svjetlu brojnog (ili brojevnog, kako bi rekao moj profesor) sistema koji koristimo - dakle dekadnog. Međutim, racionalnost nekog broja vezuje se za korišteni brojni sistem pa neki broj u jednom sistemu može biti racionalan a u drugom iracionalan. Kako se to određuje. Ako se neki broj u datom brojnom sistemu može tačno prikazati uz konačan broj cifara tog brojnog sistema, tada je on racionalan u tom brojnom sistemu. Ako to nije moguće, on je iracionalan u tom brojnom sistemu. Bitnost procesora i način predstavljanja nekog realnog broja u procesoru nemaju veze s ovim teoretskim definicijama. Način predstavljanja broja (a ne bitnost procesora - to su dvije različite stvari) utiče samo na tačnost predstavljanja nekog broja tj. na grešku predstavljanja.
    Vratimo se na onaj moj primjer broja 0,1 u dekadnom brojnom sistemu. U tom sistemu to je racionalan broj. Kad se konvertuje u binarni sistem, u njemu je to iracionalan broj i kao takav ne može se tačno predstaviti u računaru, bez obzira koliko bita upotrijebili.

    Da bih bio jasniji oko ovoga, a i načina na koji se to predstavlja u procesoru, a pošto ovdje ne mogu korektno formatirati tekst, prilažem razmatranje teme urađeno u wordu.
    Priloženi fajlovi Priloženi fajlovi

  14. #14
    Elita Svabov (avatar)
    Učlanjen
    02.10.2004.
    Pol
    muški
    Poruke
    24.984
    Reputaciona moć
    320

    Podrazumevano Re: dekadni u binarni

    hm, trebalo je malo da porazmislim pre nego sto nesto napisem i da li da napisem...ovim sam se bavio jako davno, a vezano za Motorolu 6800, tako da pitaj boga sta sam hteo da kazem...
    uglavnom, pogledacu ovaj tekst, smao da instaliram neki word viewer, posto sam skoro reinstalirao sistem, pa nemam nista...
    Well, of course it's a rat! You have rats in Spain, don't you - or did Franco have them all shot?

  15. #15
    Primećen član maksvel (avatar)
    Učlanjen
    30.06.2004.
    Pol
    muški
    Poruke
    778
    Reputaciona moć
    57

    Podrazumevano Re: dekadni u binarni

    Racionalan broj je onaj koji se može napisati u vidu razlomka. Iracionalan ne može (npr. sqrt(2)), a transcedentan ne može biti rešenje algebarske jednačine sa celim koeficijentima (npr broj e ili pi).
    Zašto je 0,1 u binarnoj notaciji iracionalan? On se može (u 0i1 sistemu) predstaviti kao razlomak -> 1/1010. Predstavljanje u računaru je druga stvar...
    Let the boy try

  16. #16
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    e pa yebiga

    jel onda program dobar ili nije?

    i sta bi ja trebalo da uradim sad?


  17. #17
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: dekadni u binarni

    [font=Verdana]Ako ti izbacuje grešku, onda očigledno da nije dovoljno dobar.

    Za nastavak pogledaj http://forum.krstarica.com/showpost.php?p=3268725&postcount=10[/font]

  18. #18
    Neproveren član MasterYoda (avatar)
    Učlanjen
    18.08.2006.
    Pol
    muški
    Lokacija
    Very Far Away from Anywhere Else
    Poruke
    4.260
    Reputaciona moć
    0

    Podrazumevano Re: dekadni u binarni

    Citat Original postavio maksvel
    Racionalan broj je onaj koji se može napisati u vidu razlomka. Iracionalan ne može (npr. sqrt(2)), a transcedentan ne može biti rešenje algebarske jednačine sa celim koeficijentima (npr broj e ili pi).
    Zašto je 0,1 u binarnoj notaciji iracionalan? On se može (u 0i1 sistemu) predstaviti kao razlomak -> 1/1010. Predstavljanje u računaru je druga stvar...
    Maks, u pravu si. Malo sam sad prelistao neke knjige. Moja greška. Očigledno se previše petljam s mašinama pa sam navikao razmišljati u tim okvirima.

  19. #19
    Peruzzi nije na forumu
    је дошао тихо и ушао у легенду...
    Domaćin Peruzzi (avatar)
    Učlanjen
    03.08.2003.
    Pol
    muški
    Lokacija
    Shumadija
    Poruke
    3.924
    Reputaciona moć
    92

    Podrazumevano Re: dekadni u binarni

    da...thnx

    samo sto nikako da se upoznam sa tim alatom

    valjda jer mi nije trebao


  20. #20
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: dekadni u binarni

    [font=Verdana]Ako budeš iole duže programirao, upoznavanje sa istim je nešto što ne možeš zaobići.[/font]

Slične teme

  1. Binarni brojevi
    Autor M.M.L. u forumu Operativni sistemi
    Odgovora: 1
    Poslednja poruka: 26.09.2006., 22:54

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •