Forum » Pomoč in nasveti » Pretvorba med številskimi sistemi
Pretvorba med številskimi sistemi
aljaz92 ::
Zdravo mene zanima če mi lahko nekdo razloži nekaj o številskih sistemih pri računalništvu... imam nalogo kjer morem pretvorit in šestnajstišgea v dvojiški sistem
Tole je primer ampak mi ni jasno kako se pride do takšnega rezultat če bi lahko kdo postopek prikazal.
A03(16) = (2)
A03(16) = A | 0 | 3 = 101000000011(2)
Imam pa še pbratno kjer morem pretvoriti iz dvojiškega v šestnajstiškega:
1010111(2) = (16)
1010111(2) = 0101 | 0111 = 57(16)
Tole je primer vendar bi prosil če mi lahko kdo razloži kako točno se pride do takšne rešitve.
Potem pa imam še množenje dvojiških števil:
recimo en primer ki ga morem rešit.... 1010*110
Lepo prosim če mi lahko napišete točen postopek kako priti do kakšne rešitve in hvala vsem, ki boste pomagali.
Tole je primer ampak mi ni jasno kako se pride do takšnega rezultat če bi lahko kdo postopek prikazal.
A03(16) = (2)
A03(16) = A | 0 | 3 = 101000000011(2)
Imam pa še pbratno kjer morem pretvoriti iz dvojiškega v šestnajstiškega:
1010111(2) = (16)
1010111(2) = 0101 | 0111 = 57(16)
Tole je primer vendar bi prosil če mi lahko kdo razloži kako točno se pride do takšne rešitve.
Potem pa imam še množenje dvojiških števil:
recimo en primer ki ga morem rešit.... 1010*110
Lepo prosim če mi lahko napišete točen postopek kako priti do kakšne rešitve in hvala vsem, ki boste pomagali.
Horizontko ::
A03(16)=Ax162 + 0x16(1) + 3x 16(0) =
10x256 + 0 + 3
2563(10)
Zdaj pa 2536 v dvojiškega. (Postopek verjetno že poznaš)
2536(10) = 1281x2 + 1
1281 = 640x2 +1
640 = 320x2 + 0
320 = 160x2 + 0
160 = 80x2 +0
80 = 40x2 + 0
40 = 20x2 + 0
20 = 5x2 + 0
5 = 2x2 + 1
2 = 1x2 + 0
1 = 0x2 +1
Če bereš ostanke od spodaj navzgor dobiš 101000000011(2)
Pri tej nalogi pa moraš najprej pretvoriti v deset. nato pa v šestn.
Pretvarjanje iz dvoj. v deset. gre takole;
če imaš npr. 1110, potem si lahko (za pomoč) nad 0 napišeš 1, nad 1 napišeš 2, nad drugo enko 4, nad tretjo (iz leve proti desni seveda) pa 8. (1, 2, 4, 8, 16, 32.....) Verjetno zdaj že veš, kaj bi napisal nad četrto enko, ukolikor bi dobil št. 11110? . Zdaj pa je potrebno te napisane številke nad številom 1110 sešteti. 0 + 2 + 4 + 8. 0 je zato, ker je 0 na 1. Če bi imel 1010 bi zapisal:
0 + 2 + 0 + 8 = 2 + 8 = 10.
1010111(2) = 1 + 2 + 4 + 16 + 64 = 87(10)
Iz desetiškega sistema se v šestnajstiškega pretvarja tako, da število množiš s 16, ostanek pa zapišeš (približno tako, kot pri pretvarjanju iz desetiškega v dvojiški sistem)
87(10) = 5x16 + 7
5 = 0x16 + 5
Dobiš rezultat 57(16)
Pri množenju dveh dvojiških št. je pametno prej vedeti seštevanje teh števil.
Malo za vajo.
Imava 111011 + 1101.
111011
+ 1101
__________
Pri takih primerih vedi, da je pod vsakima seštevancema prostora le za en bit (0 ali 1). Dvojiško je 1 + 1 = 10, zato je tudi tukaj stvar enaka.
Na začetku imaš 1 + 1, kar je 10, vendar, ker je prostora le za en bit, se tista ena šteje naprej.
2 = dvojiško 10 - naprej šteješ 1, napišeš 0
3 = dv. 11 naprej šteješ 1, napišeš 0
.....
5 = dv. 101 naprej šteješ 10, napišeš 1
Napišeš vedno le enico!
Če šteješ naprej, npr. 10, potem ne pozabi, da je to v bistvu 2. Primer:
11
+ 11
11
11
11
11
____
1111
Najprej dobiš št. 5, kar je dv. 101- napišeš 1 naprej šteješ 10. Ker je 10 = 2, zdaj sešteješ 2 + 1 + 1 + 1 + 1 + 1 = 7 dv. je 111.
Nazaj k vaji.
111011
+ 1101
__________
10010000 zadnja ničla je pod enko.
Imel si za zračunati 1010*110.
1010*110 se zračuna normalno, kot npr. 24*3.
1010*110
--------
1010
10100
10100
+ 10100
-------
111100
To bi bilo pa to,
upam, da z odgovorom nisem prepozen
10x256 + 0 + 3
2563(10)
Zdaj pa 2536 v dvojiškega. (Postopek verjetno že poznaš)
2536(10) = 1281x2 + 1
1281 = 640x2 +1
640 = 320x2 + 0
320 = 160x2 + 0
160 = 80x2 +0
80 = 40x2 + 0
40 = 20x2 + 0
20 = 5x2 + 0
5 = 2x2 + 1
2 = 1x2 + 0
1 = 0x2 +1
Če bereš ostanke od spodaj navzgor dobiš 101000000011(2)
Pri tej nalogi pa moraš najprej pretvoriti v deset. nato pa v šestn.
Pretvarjanje iz dvoj. v deset. gre takole;
če imaš npr. 1110, potem si lahko (za pomoč) nad 0 napišeš 1, nad 1 napišeš 2, nad drugo enko 4, nad tretjo (iz leve proti desni seveda) pa 8. (1, 2, 4, 8, 16, 32.....) Verjetno zdaj že veš, kaj bi napisal nad četrto enko, ukolikor bi dobil št. 11110? . Zdaj pa je potrebno te napisane številke nad številom 1110 sešteti. 0 + 2 + 4 + 8. 0 je zato, ker je 0 na 1. Če bi imel 1010 bi zapisal:
0 + 2 + 0 + 8 = 2 + 8 = 10.
1010111(2) = 1 + 2 + 4 + 16 + 64 = 87(10)
Iz desetiškega sistema se v šestnajstiškega pretvarja tako, da število množiš s 16, ostanek pa zapišeš (približno tako, kot pri pretvarjanju iz desetiškega v dvojiški sistem)
87(10) = 5x16 + 7
5 = 0x16 + 5
Dobiš rezultat 57(16)
Pri množenju dveh dvojiških št. je pametno prej vedeti seštevanje teh števil.
Malo za vajo.
Imava 111011 + 1101.
111011
+ 1101
__________
Pri takih primerih vedi, da je pod vsakima seštevancema prostora le za en bit (0 ali 1). Dvojiško je 1 + 1 = 10, zato je tudi tukaj stvar enaka.
Na začetku imaš 1 + 1, kar je 10, vendar, ker je prostora le za en bit, se tista ena šteje naprej.
2 = dvojiško 10 - naprej šteješ 1, napišeš 0
3 = dv. 11 naprej šteješ 1, napišeš 0
.....
5 = dv. 101 naprej šteješ 10, napišeš 1
Napišeš vedno le enico!
Če šteješ naprej, npr. 10, potem ne pozabi, da je to v bistvu 2. Primer:
11
+ 11
11
11
11
11
____
1111
Najprej dobiš št. 5, kar je dv. 101- napišeš 1 naprej šteješ 10. Ker je 10 = 2, zdaj sešteješ 2 + 1 + 1 + 1 + 1 + 1 = 7 dv. je 111.
Nazaj k vaji.
111011
+ 1101
__________
10010000 zadnja ničla je pod enko.
Imel si za zračunati 1010*110.
1010*110 se zračuna normalno, kot npr. 24*3.
1010*110
--------
1010
10100
10100
+ 10100
-------
111100
To bi bilo pa to,
upam, da z odgovorom nisem prepozen
Zgodovina sprememb…
- spremenil: Horizontko ()
spoly24 ::
ne strinjam se s horizontkom
saj lahko na bolj preprost način
pretvoriš iz 16 --->2 z uporabe tabele
za pretvarjanje !!
saj lahko na bolj preprost način
pretvoriš iz 16 --->2 z uporabe tabele
za pretvarjanje !!
technolog ::
Seveda, 16 -> 2 je džabe pretvarjat.
ker je 16 ravno dva na 4, pomeni, da je en hexa znak točno 4 binarne.
recimo A A 9 3 je enako:
A: 1010 (ponovimo dvakrat)
9: 1001
3: 0011
Če to daš skupaj, dobiš:
1010 1010 1001 0011
Simpl. Vse kar rabiš je pretvarjat enoznakovne heksa številke v binarne. V najslabšem primeru imaš kratko tabelco 15 vnosi, če tega ne znaš.
ker je 16 ravno dva na 4, pomeni, da je en hexa znak točno 4 binarne.
recimo A A 9 3 je enako:
A: 1010 (ponovimo dvakrat)
9: 1001
3: 0011
Če to daš skupaj, dobiš:
1010 1010 1001 0011
Simpl. Vse kar rabiš je pretvarjat enoznakovne heksa številke v binarne. V najslabšem primeru imaš kratko tabelco 15 vnosi, če tega ne znaš.
Zgodovina sprememb…
- spremenil: technolog ()
kow ::
Džabe je pretvarjati tudi 16 -> 8 (oz. 4) ali 9 -> 3. Ko to razumeš, potem ne rabiš nobene "tabele" ali "postopka".
Mipe ::
Ne rabiš tabele za pretvarjanje! Pač zapomni si, da je nula binarna nula, enka binarna enka, dvojka binarna dvojka (10) itd., ko izčrpaš števila ( 1001 = 9), sledijo črke ABCDEF (1010, 1011...) vse do 1111 (F). Skratka, 0123456789ABCDEF si sledijo v številčnem zaporedju: 0000, 0001, 0010, 0011, 0100 itd.
Šestnajstiško število pretvoriš takole, vzemimo za primer "5A1".
Prvič ločiš te črke in številke in jih ločeno pretvoriš:
5 = 0101
A = 1010
1 = 0001
Potem pa te binarne številke zlepiš skupaj, v enakem zaporedju:
5A1 = 0101 1010 0001
Pretvorba iz binarne v šestnajstiško je prav tako preprosta, vsako cifro spremeniš v štirimestno binarno število na mestu v zaporedju:
100101111110
Najprej loči po štiri bite: 1001 0111 1110
Prevedi vsako zaporedje štirih bitov v ustrezno šestnajstiško število:
1001 = 9
0111 = 7
1110 = E
In tako dobiš 97E
Simpl. Samo vedeti je treba, da za vsako šestnajstiško cifro rabiš po 4 bite.
Šestnajstiško število pretvoriš takole, vzemimo za primer "5A1".
Prvič ločiš te črke in številke in jih ločeno pretvoriš:
5 = 0101
A = 1010
1 = 0001
Potem pa te binarne številke zlepiš skupaj, v enakem zaporedju:
5A1 = 0101 1010 0001
Pretvorba iz binarne v šestnajstiško je prav tako preprosta, vsako cifro spremeniš v štirimestno binarno število na mestu v zaporedju:
100101111110
Najprej loči po štiri bite: 1001 0111 1110
Prevedi vsako zaporedje štirih bitov v ustrezno šestnajstiško število:
1001 = 9
0111 = 7
1110 = E
In tako dobiš 97E
Simpl. Samo vedeti je treba, da za vsako šestnajstiško cifro rabiš po 4 bite.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pretvorba iz desetiškega v dvojiški št. sestavOddelek: Programiranje | 3482 (2445) | def0r |
» | iz binarne vrednosti v stringOddelek: Programiranje | 1859 (1494) | Ktj |
» | Številski sestaviOddelek: Šola | 3805 (3651) | Gr0unD Zer0 |
» | Iskanje podvojenih zaporedijOddelek: Programiranje | 1869 (1649) | Gundolf |
» | vrste sistemovOddelek: Šola | 2567 (2309) | snow |