Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 13 odgovora
  • 6.127 pregleda

Najnovija ↓

Pretvaranje brojeva u razlicite osnove 08.10.2004. u 00:51 · pre 268 meseci #1
Potrebna mi je pomoc oko pretvaranja brojeva. Npr. naucio sam kako da pretvaram broj iz decimalnog u binarni ili iz binarnog u oktalni ili heksadecimalni. Problem nastaje kada trebam da npr. broj sa osnovom 3 prebacim u osnovu 7 ili obrnuto. Ovo je samo primer a koliko znam princip je slican i za druge osnove.
Molim da ukoliko neko ima neki link ili zna za neku online literaturu ili ga ne mrzi neka napise ovde. Stvarno mi je bitno da bih polozio ispit.
Potpis
Automati za kafu - Srpski plivački klub
Re: Pretvaranje brojeva u razlicite osnove 08.10.2004. u 04:56 · pre 268 meseci #2
O pretvaranju brojeva je vec bilo puno price pa potrazi malo na forumu.
Nisam primetio da je neko dao program za pretvaranje iz jedne u drugu osnovu pa evo jednog na brzinu. Zbog duzine programa nema nikakvih provera ispravnosti unetih podataka, ali moze da posluzi.

Code:

Public Function rr() As Integer
Dim st1, st2, st3 As String
Dim raz, cif, os1, os2 As Byte
Dim ceo, Broj As Double
    os1 = Val(InputBox("Osnova broja "))
    st1 = UCase(InputBox("Unesi broj "))
    os2 = Val(InputBox("Osnova u koju se konvertuje "))
    Broj = 0
    raz = Asc("A") - Asc("9") - 1
    st3 = st1
    Do
        Broj = Broj * os1
        cif = AscB(st1) - Asc("0")
        If cif > 9 Then
            cif = cif - raz
        End If
        Broj = Broj + cif
        st1 = Mid(st1, 2)
    Loop Until st1 = ""
    st2 = ""
    Do
        cif = Broj Mod os2
        If cif > 9 Then
            st2 = Chr(cif + Asc("0") + raz) + st2
        Else
            st2 = Chr(cif + Asc("0")) + st2
        End If
        Broj = Int(Broj / os2)
    Loop Until Broj = 0
    MsgBox "Osnova (" & Str(os1) & " ) = " & st3 & Chr(13) & "Osnova (" & Str(os2) & " ) = " & st2
End Function
Re: Pretvaranje brojeva u razlicite osnove 08.10.2004. u 23:08 · pre 268 meseci #4
Evo ovako je najlakse:Prvo prebacis u osnovu 10 pa iz osnove deset u zeljenu osnovu.Ako imas isnove koje su stepeni dvojke (2,4,8,16) onda se prvo broj pretvara u binarni a zatim u ciljnu osnovu.

Slucaj 1:

2371(8) = 2*8^3 + 3*8^2 + 7*8^1 + 1*8^0 = 1024 + 192 + 56 + 1 = 1273(10)

sada ides 1273 iz osnove 10 u osnovu 3:

1273/3= 424.33 --> 424*3= 1272 ----> 1273-1272= 1 ovo je ostatak pri deljenju tj 1.cifra (z desna)
424/3= 141.33 --> 141*3= 423 ----> 424-423= 1 ovo je ostatak pri deljenju tj 2.cifra
141/3= 47.00 --> 47*3= 141 ----> 141-141= 0 ovo je ostatak pri deljenju tj 3.cifra
47/3= 15.66 --> 15*3= 45 ----> 47-45= 2 ovo je ostatak pri deljenju tj 4.cifra
15/3= 5.00 --> 5*3= 15 ----> 15-15= 0 ovo je ostatak pri deljenju tj 5.cifra
5/3= 1.66 --> 1*3= 3 ----> 5-3= 2 ovo je ostatak pri deljenju tj 6.cifra
broj je manji od osnove i to je zadnja cifra 1 (prva levo)

sada procitas ostatke, ides od dole prema gore: 1202011(3)

Znaci: 2371(8)=1273(10)=1202011(3)

Slucaj 2 si rekao da znas(ono sa stepenom dvojke) pa te necu gnjaviti, mada je ovo pod 1 univerzalan metod i mozes uvek da ga koristis.

Poz

Re: Pretvaranje brojeva u razlicite osnove 09.10.2004. u 07:54 · pre 268 meseci #5
Citat:
veek: Hvala na odgovoru ali ovo mi ne resava stvar. Prelistao sam forum i nisam nasao npr. iz osnove 3 u osnovu 8. Potrebno mi je da znam princip jer na ispitu rucno prebacujemo iz jedne u drugu osnovu.


!!!!????
Jesi li tražio princip ili si tražio baš iz osnove 3 u osnovu 8? Ako ovo drugo, onda me ne čudi što nisi našao, a ako ovo prvo, onda me čudi da nisi...
Re: Pretvaranje brojeva u razlicite osnove 10.10.2004. u 01:41 · pre 268 meseci #6
darkosos naravno da sam mislio na princip.

filjo hvala ti puno na pomoci.

Citat:
5/3= 1.66 --> 1*3= 3 ----> 5-3= 2 ovo je ostatak pri deljenju tj 6.cifra
broj je manji od osnove i to je zadnja cifra 1 (prva levo)


Mozes li da mi objasnis zasto je zadnja cifra ( prva s leva) 1. Malo me buni ovo. A sta ako je broj jednak osnovi jer onda zadnja cifra 0???
Potpis
Automati za kafu - Srpski plivački klub
Re: Pretvaranje brojeva u razlicite osnove 10.10.2004. u 13:53 · pre 268 meseci #7
Princip je sledeci (valjda):
imas broj (x) u sistemu sa osnovom n i treba da ga prebacis u sistem sa osnovom m
Prvo trazis ostatak pri dijeljenju x sa m (to ti je prva ili zadnja cifra provjeri na nekom primjeru), zatim x podijelis (cjelobrojno) sa m i tako nastavis postupak...
Potpis
Reko mi tvoj brat da studiras za programatora!
Re: Pretvaranje brojeva u razlicite osnove 10.10.2004. u 14:19 · pre 268 meseci #8
@veek pa zato je zadnja cifra 1 zato sto ti je ostao samo broj 1. Kada ga podelis sa osnovom dobijas celobrojni deo 0 i ostatak, koji je 1.
Ako je broj deljiv sa osnovom onda je cifra naravno 0 posto je ostatak 0.

Re: Pretvaranje brojeva u razlicite osnove 12.10.2004. u 23:33 · pre 268 meseci #10
E šipak sam shvatio, samo do deset. :lol
Kako prebacujem brojeve u osnove preko 10 npr. u osnovu 13. Znam da prebacim u 16 ali kako u 11,12,13,14,15. Kako prilikom deljenja osnovom da dobijem ostatak A,B,C itd. Ajde pomagajte znam da je prosto i jednostavno kada se zna ali ja nisam te sreće i evo izludeh.

Pozdrav.
Potpis
Automati za kafu - Srpski plivački klub
Re: Pretvaranje brojeva u razlicite osnove 12.10.2004. u 23:36 · pre 268 meseci #11
A, B, C... - to su ti samo oznake za 10, 11, 12... redom. Znači, kad dobiješ ostatak 11 to ti je B i tako dalje.
Potpis
Ljubičice crvena, što si plava kô zelena trava.
Re: Pretvaranje brojeva u razlicite osnove 12.10.2004. u 23:46 · pre 268 meseci #12
Bojane hvala na ovako brzom odgovoru. Jel A predstavlja oznaku za 10 ili za 11?

I jos jedno pitanje : Da li se brojevi sa osnovom vecom od 10 pretvaraju u osnovu 10 po istom principu kako je gore napisao filjo. Mislim da je postupak isti ali eto da proverim.

Pozdav.
Potpis
Automati za kafu - Srpski plivački klub
Re: Pretvaranje brojeva u razlicite osnove 12.10.2004. u 23:55 · pre 268 meseci #13
A=10, B=11, C=12 i tako dalje dokle ti treba.

Za obrnuti postupak važi sve isto, kad negde piše A to računaš kao 10 i slično za ostala slova, analogno kao i prvi smer.
Potpis
Ljubičice crvena, što si plava kô zelena trava.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme