Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Java: JAVA ja lukujärjestelmän muutokset

jurainus [10.01.2004 15:36:50]

#

Päiviä!

Olisikohan kenelläkään tietoa siitä miten lukujärjestelmistä toiseen voisi loikata javassa helpoimmin.
Olen vääntämässä omaksi ilokseni pientä xor pohjaista OTP-salaus applettia, mutta xor ei halua xorrata muuta kuin lukuja.

Seuraavanlaiseen muunnokseen haluaisisn siis apuja
String -> (Kaksijärjestelmä) -> Int -> (Kaksijärjestelmä) -> String

P.S.
Olen googlannut :)

Antti Laaksonen [10.01.2004 22:26:15]

#

En tiedä, onko Javassa valmista keinoa lukujen muuttamiseen 2-järjestelmästä 10-järjestelmään ja toisinpäin. Jos ei ole, muutokset täytyy tehdä seuraavien tietojen perusteella:

Kun 2-järjestelmässä oleva luku muutetaan 10-järjestelmään, täytyy kukin numero kertoa kahdella. Kakkosen potenssit menevät järjestyksessä suurimmasta pienimpään niin, että pienin potenssi on 0. Nämä tulot lasketaan yhteen.

10110 (2-järjestelmässä)

1 * 2^4 + 0 * 2^3 + 1 * 2^2 + 1 * 2^1 + 0 * 2^0
= 16 + 0 + 4 + 2 + 0
= 22

10-järjestelmän luku muutetaan 2-järjestelmään jakolaskun avulla. Lukua jaetaan kahdella niin kunnes osamäärä on 0. Jakojäännökset merkitään aina muistiin. 2-järjestelmän luku saadaan, kun jakojäännökset luetaan viimeisestä ensimmäiseen.

22 (10-järjestelmässä)

22 / 2 = 11 jää 0
11 / 2 = 5 jää 1
5 / 2 = 2 jää 1
2 / 2 = 1 jää 0
1 / 2 = 0 jää 1

= 10110

Sama pätee muuten muihinkin lukujärjestelmiin, kunhan kakkosen tilalle laitetaan järjestelmän kantaluku.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta