Kuinka muunnetaan desimaaliluku binaariluvuksi? Esim. vaikka tällainen ip-osoite 192.168.255.243
Olisin todella kiitollinen avusta!!!
Olisin todella kiitollinen avusta!!!
Turvaa tilisi vahvistamalla puhelinnumerosi. Voit silloin palauttaa unohtuneen salasanan tekstiviestillä.
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 10
Vanhimmat
Esitetään niin, että ykköset ja nollat kuvaavat kahden potensseja. Jos binääriesitys luetaan oikealta vasemmalle, sinulla on ykköset, kakkoset, neloset, kasit, kuudestoistat jne.
Oletetaan, että luku on kymmenjärjestelmässä n.
Etsi suurin kahden potenssi, joka on korkeintaan niin suuri kuin n. Esim 2^k.
Kirjoita binääriesityksen alkuun ykkönen.
Vähennä luvusta n tuo 2^k.
Jos 2^(k-1) on suurempi kuin jäljelle jäävä n, laita binääriesitykseen seuraavaksi nolla, ja siirry kokeilemaan lukua 2^(k-2).
Muutoin toimit niin kuin aiemminkin, pistämällä esitykseen ykkösen ja vähentämällä vastaavan kahden potenssin jäljellä olevasta luvusta.
Jatka kunnes sinulla on valmis binääriesitys.
Esimerkki 1: 192 .
2^7 on suurin kahden potenssi, joka on korkeintaan 192.
Esityksen alkuun 1.
192-2^7 = 64 .
Mutta 64 = 2^6.
Siispä binääriesitys on 11000000.
Esimerkki 2: 73.
Suurin kahden potenssi joka on korkeintaan 73 on 2^6.
Eli esityksen alkuun ykkönen.
73-2^6 = 9
Suurin kahden potenssi joka on korkeintaan 9 on 2^3.
Eli esitys on tähän mennessä 1001 .
9-2^3 = 1.
Siispä esitys on 1001001.
Hienosti olit asian esittänyt mutta en silti ymmärtänyt yhtään mitään. Pystyisitkö vieläkin yksinkertaisemmin esittämään asian niin, että tyhmäkin tajuaa?
... esittää tätä paljon yksinkertaisemmin, ellet kerro mitä osaa et ymmärrä. Tapa oppia asioita on lukea se niin monta kertaa, että sen ymmärtää (ja kysyä ongelmakohdista). Luovuttamalla ensi kättelyssä ei opi mitään.
Kymmenjärjestelmässä luku 2054 luetaan oikealta vasemmalle näin:
4 5*10 2*10^3
Huomaa, että 0 luvussa 2054 on vain paikanpitäjä 'sadoille', joita on 0 kappaletta.
Binäärijärjestelmän luku 1011 luetaan vastaavasti näin:
1 2^1 2^3
Huomaa, että 0 luvussa 1011 on vain paikanpitäjänä potenssille 2^2.
Siispä luonnollinen tapa muuttaa desimaaliluku binääriluvuksi on vähentää luvusta toistuvasti korkein siihen mahtuva kahden potenssi.
Esim: Muuta 1602 binääriluvuksi.
Suurin tähän mahtuva kahden potenssi on (kokeilemalla) 2^10 eli 1024.
1602-1024 = 578
Suurin tähän mahtuva kahden potenssi on 2^9 eli 512.
578-512 = 66
Suurin tähän mahtuva kahden potenssi on 2^6 eli 64.
66-64 = 2 , mikä on kahden ensimmäinen potenssi.
Nyt binääriluku on vain esitys siitä, mitä potenssejä olemme saaneet. Kirjoitamme luvun oikealta vasemmalle, laittamalla ykkösen niiden potenssien kohdalle mitä saimme, ja nollan muiden potenssien kohdalle.
Saimme potenssit 1,6,9 ja 10.
(Eli 1602 = 2 2^6 2^9 2^10 )
Siispä binääriluku on 11001000010 .
Huomaa, että potenssit 0,2,3,4,5,7,8 saavat nollia paikanpitäjiksi.
***
Tämän selkeämmin tätä ei voi enää esittää -- ellet sitten kerro tarkemmin mitä kohtaa et tajua.
IP-osoite ei ole luku, vaan useamman kolminumeroisen luvun muodostama joukko.
Otetaan Windows-laskin. Näpytellään laskimeen desimaalikokonaisluku. Vaihdetaan laskimen tila Decistä näyttörivin alla olevalla täpällä tilaksi Bin. Ja katso, meillä on binaariluku.
Jos taas tarkoitit, miten tämä sama tehdään paperilla, ratkaisu on edelleen helppo, mutta hieman pitempi.
192.168.255.243 ei ole desimaaliliku. Desimaaliluvussa on korkeintaan yksi pilkku (tai piste riippuen siitä, mitä merkkiä halutaan käyttää desimaalierottimena).
Veikkaan, että sinulla on mielessä IP-osoitteen esitys yhtenä desimaalilukuna. Tämän muunnoksen voi tehdä muuttamalla antamasi osoitteen 192.168.255.243 jokaisen desimaaliluvun binääriluvuksi, jolloin saat luvun tyyliin 00010001.00100100.... Seuraavaksi tiputat pisteet pois ja muunnat binääriluvun desimaaliluvuksi. Syntyvä yksi kokonaisluku on yksikäsitteisesti vastaava IP-osoitteen kanssa.
Huomaa, että muuntaessasi esim. IP-osoitetta 1.2.3.4 sinun pitää säilyttää jokaisessa osiossa kahdeksan bittiä, eli etunollia pitää laittaa kunnes bittejä on kahdeksan, muuten muunnos ei tietenkään onnistu.
Tai vaihtoehtoisesti
243 256^1*255 256^2*168 256^3*192
Kiitos kaikille auttajille! Taidan tyytyä vaan käyttämään laskinta.
Mutta haluaisin vielä kysyä yhtä asiaa, en tiedä kuuluuko tälle palstalle mutta yritänpä kuitenkin.
Eli kuinka ip-osoitteesta voi päätellä mikä on koneen aliverkon peite?
Mutta käsittääkseni ip-osoitteesta ei voi päätellä aliverkon peitettä kuten ei myöskään oletusyhdyskäytävää. Tarkista jostain tietoliikennepalstalta kuitenkin vielä.
"Taidan tyytyä käyttämään laskinta."
Mielestäni olet velkaa itsellesi sen verran, ettet käytä laskinta johonkin todella yksinkertaiseen, ainakaan ennen kuin ymmärrät asian.
Esim. on tärkeää ymmärtää mitä yhteenlasku on, ennen kuin käyttää laskinta siihen. Samoin on ERITTÄIN tärkeää ymmärtää mikä on binäärinen luku ennen kuin siihen muuntaa.