Java feladat - Decimális szám binárisba (A12)

preview_player
Показать описание
Alapfeladat - 12.
Kérjünk be egy pozitív decimális számot és írjuk ki a bináris megfelelőjét.

Egy decimális, azaz tízes számrendszerbeli szám számjegyei azt jelölik, hogy az egyes helyiértékeken szereplő számszor kell venni a helyiértékhez tartozó kitevőt, azaz például a 231 = 2 * 100 + 3 * 10 + 1, ahol a 100 a 10-es alap második hatványa, a 10 az első és az 1 a nulladik hatvány.
Ennek megfelelően egy bináris szám esetén az egyes helyiértékekhez a 2 megfelelő hatványai tartoznak, azaz például a 1101 binárisan az 1 * 8 + 1 * 4 + 0 * 2 + 1 * 1 = 13 (vegyük észre hogy 8 = 2^3, 4 = 2^2, 2 = 2^1, 1 = 2^0).

Példa
Bemenet: 231
Kimenet: 11100111

Ennek a feladatnak a lényege az lenne, hogy lássuk hogyan épülnek fel a számok a különböző számrendszerekben, és mit jelent a köztük való átváltás, hogyan tudunk egyikből a másikba átmenni matematikai úton, két módszer segítségével.
Természetesen ha különböző számrendszerek között kell váltanunk, akkor arra van beépített megoldás, ahogy azt a videó végén megmutatom, itt inkább csak a mögöttes logikát szerettem volna megmutatni.

Fejezetek
0:00 Bevezető

Рекомендации по теме
Комментарии
Автор

Ha jól emlékszem az Apache Commons Lang könyvtárában van a reverse() függvény.

artistpm
Автор

Üdv
Nem a végére kell hozzáadni hanem az elejére és akkor nem kell megfordítani:
while (szam > 0) {
binarisSzam = szam % 2 + binarisSzam;
szam /= 2;
}

dividenda-rs
Автор

Én csak így írtam a második megoldásnál a for ciklust, nem bonyolítottam egy újabb Stringgel ^^:
for (int i = binárisSzám.length() - 1; i >=0; i--){

}

anitaracz-molnar