Převody mezi soustavami
HackForum
| Ahojte lidi, potřeboval bych vědět, jak převádět mezi jednovými číselnými soustavami, tedy z desítkové do binární a naopak, do hexadecimální. Díky (odpovědět) | Arnie. | 88.102.234.* | 26.10.2007 15:29 |
|
|
|
re: Převody mezi soustavami | # |
| Použij kalkulačku ve vědeckém režimu nebo např. [link] a jestli se to chceš naučit sám tak si přečti [link] (odpovědět) | Edited | 77.78.80.* | 26.10.2007 15:49 |
|
|
|
re: Převody mezi soustavami | # |
| vezmi si, jak funguje soustava. Třeba desítková (. Máš číslo xyz v desítkové soustavě (DEC), které se dá vlastně rozepsat
x*100 + y * 10 + z *1 = x * 10^2 + y * 10^1 + z + 10^0
číslo xyz v dvojkové soustavě (BIN) je:
x*4 + y * 2 + z *1 = x * 2^2 + y * 2^1 + z + 2^0
------------
a teď převody:
z DEC do BIN:
máme třeba číslo DEC 298.
postup:
delíme číslo dvoujkou tak dlouho, dokud nám nic nezbyde. Celočíselný výsledek dělení zapíšeme o řádek níž, zbytek vedle.
298 |||| 0
149 |||| 1
74 |||| 0
37 |||| 1
18 |||| 0
9 |||| 1
4 |||| 0
2 |||| 0
1 |||| 1
0
ted si sepíšeme ty zbytky - 010101001 - a zapíšeme pospátku - 100101010 - tak a máme to :-) takže DEC 298 = BIN 100101010
---------------------
z BIN do DEC:
máme číslo BIN, třeba 111000111.
podle toho, co jsme si řekli na začátku se tohle číslo dá rozepsat jako
1*2^0 + 1*2^1 + 1*2^2 + 0*2^3 + 0*2^4 + 0*2^5 + 1*2^6+ 1*2^7+ 1*2^8 = 1 + 2 + 4 + 64 + 128 + 256 = 455.
------
Z ostatníma soustavama je to dost podobné.
----------
Get enlightened! (odpovědět) | |
|
|
re: Převody mezi soustavami | # |
| a ještě převod mezi HEX (šestnáctková soustava) a BIN je celkem rychlý:
z BIN do HEX:
111110000011111 - číslice si rozdělíme do čtveřic:
0111 1100 0001 1111 - každá čtveřice číslic v BIN představuje jednu číslici v HEX.
0111 = DEC(1+2+4) = DEC(7) = HEX(7)
1100 = DEC(8+4)= DEC(12) = HEX(C)
0001 = HEX(1)
1111 = DEC(15) = HEX(F)
BIN(111110000011111)=HEX(7C1F)
----------
Get enlightened! (odpovědět) | |
|
|
re: Převody mezi soustavami | # |
| mr.jj presne jak rika mr.Crow (odpovědět) | ask@t | | 200-358-168 | 26.10.2007 17:01 |
|
|
|
re: Převody mezi soustavami | # |
| Díky, tak převody v DEC-BIN už mám naprogramovány.. Ted bych akorát potřeboval převody mezi DEC-HEX, máte někdo nějakej zdroják. Jinak díky (o; (odpovědět) | Arnie. | 88.102.234.* | 26.10.2007 17:23 |
|
|
|
re: Převody mezi soustavami | # |
| no, postup je podobný jako u DEC-BIN.
máš třeba číslo DEC(9544846). Dělíš tak dlouho 16, dokud ti nezbyde nula.
|| zbytky
9544846 || 14 = e
596553 || 8
37284 || 4
2330 || 10 = A
145 || 1
9 || 9
0
91A48E
----------
Get enlightened! (odpovědět) | |
|
|
re: Převody mezi soustavami | # |
| a kód si vymyslíš snad sám. Stačí umět zjistit výsledek dělení a zbytek z dělení.
----------
Get enlightened! (odpovědět) | |
|
|
re: Převody mezi soustavami | # |
| [link]
jeden z algoritmu co tam je, je i prevod mezi soustavami ;) Ne ze by se to tu neresilo uz nekolikrat :P
----------
public static void main(String args[]){
throw new UnsupportedOperationException("Not implemented!");
}
(odpovědět) | |
|
|
re: Převody mezi soustavami | # |
| a když už sme u toho tak proč si programátor plete halloween a vánoce? ;)
malej hint: 31 oct = 25 dec (odpovědět) | polly | 62.245.78.* | 27.10.2007 12:08 |
|
|
|