Převody mezi soustavami

HackForum

Převody mezi soustavami#
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)
mr.Crow | E-mail | Website26.10.2007 16:04
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)
mr.Crow | E-mail | Website26.10.2007 16:14
re: Převody mezi soustavami#
mr.jj presne jak rika mr.Crow
(odpovědět)
ask@t | E-mail | ICQ 200-358-16826.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)
mr.Crow | E-mail | Website26.10.2007 17:45
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)
mr.Crow | E-mail | Website26.10.2007 17:47
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)
pr0ph3t27.10.2007 12:00
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

Zpět
 
 
 

 
BBCode