Nyt olis apu tarpeen!
Olis sellanen onkelma et miten Javassa saa näppärästi muutettua jonkin luvun lukujärjestelmästä toiseen? Jos vaikka aatellaan et luku 4-kantainen luku 232 pitää muuttaa kymmenjärjestelmään tai toisinpäin. Mietin vaan et onkohan tuohon olemassa valmiiksi jokin komento millä sen saa muutettua vai pitääkö siihen alkaa vääntään jotain erillistä koodin pätkää jossa se merkki kerrallaan katsotaan ja muunnetaan eri lukujärjestelmään.
Jos jollakin on tietoa ja jos asia ei ole kovin monimutkainen niin mieluusti luen neuvoja...
Olis sellanen onkelma et miten Javassa saa näppärästi muutettua jonkin luvun lukujärjestelmästä toiseen? Jos vaikka aatellaan et luku 4-kantainen luku 232 pitää muuttaa kymmenjärjestelmään tai toisinpäin. Mietin vaan et onkohan tuohon olemassa valmiiksi jokin komento millä sen saa muutettua vai pitääkö siihen alkaa vääntään jotain erillistä koodin pätkää jossa se merkki kerrallaan katsotaan ja muunnetaan eri lukujärjestelmään.
Jos jollakin on tietoa ja jos asia ei ole kovin monimutkainen niin mieluusti luen neuvoja...
Vastaukset 4
Vanhimmat
Tuohan olisi sopiva Java-kurssin harjoitukseksi. Tee silmukka joka laskee:
2*4^0 3*4^1 2*4^2 ja tuloksena on luku kymmenjärjestelmässä
Entäpäs jos pitää saada toisinpäin tämä sama muunnos eli kymppijärjestelmästä muuhun järjestelmään. Kyllähän tuon tietenkin paperilla osaa laskea mut koodiksi ei ihan heti taivu. Onko muuten javassa potenssi ihan vaan tuo ^-merkki?
Math luokalla onnistuu. Luku pontenssiin kaksi:
int luku = 10;
Math.pow(luku,2);
http://java.sun.com/j2se/1.4.2/docs/api/java/math/BigInteger.html
Jotta koulussa saatu tehtävä olisi vielä opettavainen niin miten paljon netistä voi kysyä... Kysymyksesi liittyy enemmän algoritmin suunnitteluun kuin Javaan.
Seuraavissa: k2=2, k1=3, k0=2
Jos toisinpäin tehtiin näin (toteutetaan silmukalla):
k0*4^0
k1*4^1
k2*4^2 = X
Niin takaisinpäin tullaan näin (toteutetaan silmukalla):
X
-k2*4^2
-k1*4^1
-k0*4^0 = 0
Ensimmäiseksi pitää selvittää mikä on k:n suurin indeksi.