Kahden komplementti

16+7

En tiiä onko tää edes oikealla alueella, enkä viittinyt ihan tuonne ohjelmoinnin puolelle tunkea kun tässä lasketaan enemmän kuin ohjelmoidaan...


Tehtävänäni on laskea seuraavat laskut muuntamalla luvut neljäbittisiksi 2:n komplementtiseksi. Tarkista tulos desimaalilukuina kymmenjärjestelmässä.

a) 6[10] 1[10] 0110 ja 1 -> 0001
Sitten muutin ne 2. komplementeiksi: 0110 -> 1010 ja 0001 -> 1111

laskin nämä yhteen:
1010
1111
= 11001

Tämän kun muutan takaisin kymmenjärjestelmään, niin tästä tulee: 25 eikä 7 (6 1).

Missä kohtaa tein virheen?

Ja meneekö tossa b) kohdassa samalla tavalla, mutta muutan sen vain 3 (-2) ?

Kiitoksia etukäteen.

16

1867

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 10101

      Saamasi summa on 2:n komplemetti-muodossa. Pitänee muuttaa takaisin.

      11001 -> 1 alussa tarkoittaa negatiivista ja 0110 1=0111=7

      En muista tarkkaan miten tuossa piti menetellä

      • 17++

      • 17++
        17++ kirjoitti:

        Siellä on painovirhe 103-456 po. 10^3-456

        Kokeilin laskea esimerkkiä 678-456 toisinpäin eli 456-678

        1000-678=322

        456 678=778
        Vastaus näyttää olevan 10:n komplemetti 222:sta (1000-778=222).
        Negatiivinen tulos on siis kantaluvun komplemettina.

        "
        Kahden positiivisen luvun erotus (M – N), kun molempien kantaluku on r, lasketaan seuraavasti:


        1. Lisää luvun N komplementti lukuun M.

        2. Tutki syntyikö askeleen (1) tuloksena muistinumero eniten merkitsevien numeroiden summasta.


        a) Jos syntyi, hylkää muistinumero ja saat tuloksen

        b) Jos ei syntynyt, ota summasta komplementti ja kirjoita summan etumerkiksi miinus.
        "
        tuossahan tuo ohje olikin:)


      • 20+2
        17++ kirjoitti:

        Siellä on painovirhe 103-456 po. 10^3-456

        Kokeilin laskea esimerkkiä 678-456 toisinpäin eli 456-678

        1000-678=322

        456 678=778
        Vastaus näyttää olevan 10:n komplemetti 222:sta (1000-778=222).
        Negatiivinen tulos on siis kantaluvun komplemettina.

        Mistä tuo 1000 tulee?
        En oikein tunne tuota 10:n komplementtia, koska meillä on käytössä vain 1. ja 2.

        Yritin tuon ohjeen avulla tehdä tota vähennyslaskea eli b-kohtaa, mutta sain tällaista:

        3[10] - 2[10]
        0011 - 0010
        2.komplementiksi: 0011 -> 1100 1 -> 1101 ja 0010 -> 1101 1 -> 1110

        1. Lisää luvun N komplementti lukuun M.
        0011 1000 -> 0111 = 7
        Ei tainnut ihan sujua multa. Ymmärsinkö edes tuon ohjeen?

        Tuosta a) -kohdasta vielä, että sen tajusin. Mutta yhteenlaskun jälkeen tulee 11001 , missä tuo ensimmäinen tarkoittaa vaan negatiivisuutta. (ensimmäisen postaajan mukaan). Ja tästä saadaan 0111 eli 7. Jätetäänkö tuo 1 eli se negatiivisuus huomaamatta? Vai onko tämäkin kohta tajuttu väärin? Että miksi sinne tulee viides luku sinne eteen, esittämään negatiivia, vaikka vastaus on positiivinen?

        Koska kun luin netistä eri lähteistä ohjeita tähän ja esim täältä http://signal.hut.fi/digis/luento2/komplementti.html tuo ykkönen oli laitettu miinukseksi tonne eteen suoraan.


      • 10101

        A-tehtavässä ei pidä muuttaa , koska ovat positiivisia lukuja ja ne lasketaan yhteen.
        Laske ainä yhteen. Vähennyslasku muuttuu negatiivisen luvun lisäämiseksi..

        Unohda muuten yllä oleva vastaukseni ja katso alempana löytyviä ohjeita.


        siis
        a b=a b (tässä ei muuteta mitään)
        a-b=a (-b)
        -a-b= (-a) (-b)
        -a b=(-a) (b)

        Muuta aina negariivinen luku 2:n komplementiksi.


    • 17+20
      • 16+7 ja 20+2

        Yritin tällä laskea tuota b-kohtaa ja eteen tuli tällainen ongelma, että:
        0011 -> 1101 (3 kahden komplementissa) ja 0010 -> 1101 -> 1110 (2 kahden komplementissa).

        Ongelmana, että pitäisi vielä saada tuo miinus merkki kakkoselle eli laittaa ykkönen eteen. Joten voinko tehdä sen näin: 11110

        Jolloin yhteenlaskusta tulisi:
        01101
        11110
        ???011

        Tuohon yhteen kohtaan tulisi kolme ykköstä (1 1 ja siihen viellä edellisen kohdan plussa laskun 1). Kuinka tällainen merkitään vai saako näin edes tehdä?


      • 16+7 ja 20+2
        16+7 ja 20+2 kirjoitti:

        Yritin tällä laskea tuota b-kohtaa ja eteen tuli tällainen ongelma, että:
        0011 -> 1101 (3 kahden komplementissa) ja 0010 -> 1101 -> 1110 (2 kahden komplementissa).

        Ongelmana, että pitäisi vielä saada tuo miinus merkki kakkoselle eli laittaa ykkönen eteen. Joten voinko tehdä sen näin: 11110

        Jolloin yhteenlaskusta tulisi:
        01101
        11110
        ???011

        Tuohon yhteen kohtaan tulisi kolme ykköstä (1 1 ja siihen viellä edellisen kohdan plussa laskun 1). Kuinka tällainen merkitään vai saako näin edes tehdä?

        __01101
        __11110
        1011011

        Kenties tällainen? Tästä ottaisin neljä viimeistä: 1011
        Kahden komplementista takaisin -> 1010 -> 0101 -> 4 1 = 5
        Ei oikeaa tulosta...


      • 10101
        16+7 ja 20+2 kirjoitti:

        Yritin tällä laskea tuota b-kohtaa ja eteen tuli tällainen ongelma, että:
        0011 -> 1101 (3 kahden komplementissa) ja 0010 -> 1101 -> 1110 (2 kahden komplementissa).

        Ongelmana, että pitäisi vielä saada tuo miinus merkki kakkoselle eli laittaa ykkönen eteen. Joten voinko tehdä sen näin: 11110

        Jolloin yhteenlaskusta tulisi:
        01101
        11110
        ???011

        Tuohon yhteen kohtaan tulisi kolme ykköstä (1 1 ja siihen viellä edellisen kohdan plussa laskun 1). Kuinka tällainen merkitään vai saako näin edes tehdä?

        Älä muuta 3:sta.koska se on positiivinen.

        0011
        1110
        10001
        Muistinumero (ylivuoto) on 1, joten vastaus saadaan suoraan.
        0001 (muistinumero heitetään pois, kun se on ensin huomioitu*)

        *)

        "2. Tutki syntyikö askeleen (1) tuloksena muistinumero eniten merkitsevien numeroiden summasta.

        a) Jos syntyi, hylkää muistinumero ja saat tuloksen

        b) Jos ei syntynyt, ota summasta komplementti ja kirjoita summan etumerkiksi miinus."

        ps. siellä linkin ohjeessa sanotaan että kantaluku korotetaan potenssiin n (n=numeroiden määrä) ja siitä vähennetään komplementoitava luku.
        binäärijärjestelmässä saman saa aikaan myös vaihtamalla nollat ykkösiksi ja päinvastoin kuten tuolla aikaisemmin lukeenkin. Ihmettelemäsi kymmenjärjestelmän 1000 oli siis 10^3 (laskettiin kolminumeroisia lukuja)


      • 10101
        10101 kirjoitti:

        Älä muuta 3:sta.koska se on positiivinen.

        0011
        1110
        10001
        Muistinumero (ylivuoto) on 1, joten vastaus saadaan suoraan.
        0001 (muistinumero heitetään pois, kun se on ensin huomioitu*)

        *)

        "2. Tutki syntyikö askeleen (1) tuloksena muistinumero eniten merkitsevien numeroiden summasta.

        a) Jos syntyi, hylkää muistinumero ja saat tuloksen

        b) Jos ei syntynyt, ota summasta komplementti ja kirjoita summan etumerkiksi miinus."

        ps. siellä linkin ohjeessa sanotaan että kantaluku korotetaan potenssiin n (n=numeroiden määrä) ja siitä vähennetään komplementoitava luku.
        binäärijärjestelmässä saman saa aikaan myös vaihtamalla nollat ykkösiksi ja päinvastoin kuten tuolla aikaisemmin lukeenkin. Ihmettelemäsi kymmenjärjestelmän 1000 oli siis 10^3 (laskettiin kolminumeroisia lukuja)

        Korjaus

        "binäärijärjestelmässä saman saa aikaan myös vaihtamalla nollat ykkösiksi ja päinvastoin "

        Pitäisi olla

        "binäärijärjestelmässä saman saa aikaan myös vaihtamalla nollat ykkösiksi ja päinvastoin JA LISÄKSI vielä LISÄÄMÄLLÄ 1"


      • 16+7 ja 20+2
        10101 kirjoitti:

        Älä muuta 3:sta.koska se on positiivinen.

        0011
        1110
        10001
        Muistinumero (ylivuoto) on 1, joten vastaus saadaan suoraan.
        0001 (muistinumero heitetään pois, kun se on ensin huomioitu*)

        *)

        "2. Tutki syntyikö askeleen (1) tuloksena muistinumero eniten merkitsevien numeroiden summasta.

        a) Jos syntyi, hylkää muistinumero ja saat tuloksen

        b) Jos ei syntynyt, ota summasta komplementti ja kirjoita summan etumerkiksi miinus."

        ps. siellä linkin ohjeessa sanotaan että kantaluku korotetaan potenssiin n (n=numeroiden määrä) ja siitä vähennetään komplementoitava luku.
        binäärijärjestelmässä saman saa aikaan myös vaihtamalla nollat ykkösiksi ja päinvastoin kuten tuolla aikaisemmin lukeenkin. Ihmettelemäsi kymmenjärjestelmän 1000 oli siis 10^3 (laskettiin kolminumeroisia lukuja)

        Ymmärsin nyt. Kiitos!


      • 16+7 ja 20+2
        16+7 ja 20+2 kirjoitti:

        Ymmärsin nyt. Kiitos!

        Lisäkysymys vielä:

        Tarkoittaako tämä, että kahden komplimentissa numero saattaa olla negatiivinen tai positiivinen?

        Esim. jos pitää muuttaa pelkkiä numeroita kahden komplementtiin (ei laskea yhteen)

        4 = 0100 -> 1011 1 -> 1100
        -4 = ??

        vai
        -4 = 1100 -> 0011 1 -> 0100


      • 10101
        16+7 ja 20+2 kirjoitti:

        Lisäkysymys vielä:

        Tarkoittaako tämä, että kahden komplimentissa numero saattaa olla negatiivinen tai positiivinen?

        Esim. jos pitää muuttaa pelkkiä numeroita kahden komplementtiin (ei laskea yhteen)

        4 = 0100 -> 1011 1 -> 1100
        -4 = ??

        vai
        -4 = 1100 -> 0011 1 -> 0100

        Kahden komplementin luvut ovat yksikäsitteisesti määrätyt, kun bittimäärä on määrätty.

        Nelibittisessä 2:n komplementiesityksessä
        1111 = -1 (eikä 15)
        1100= 4
        0111=7
        1000= -8

        Viisibittisessä (jos jossain käytettäisiin)
        01111 = 15 (eikä -1 tai 31)
        10000 = -16


    • 3+2

      10:n komplementti voitaisiin laske samalla tavalla

      neljällä numerolla
      10^3-luku = 9999-luku 1
      1 korvataan 8:lla
      2 korvataan 7:llä
      3 korvataan 6:lla
      jne.

      Myös 2-järjestemässä voi laskea

      2^4-binaariluku = 1111-binaariluku 1

      esim. 2n komplementti luvusta 1010
      vähennyslasku
      1111 (=2^4-1)
      1010
      =
      0101(ykköset vaihtuu nolliksi ja päivaston)
      1
      =
      0110

    • 2321

      Tuossa voi ajatelle auton matkamittaria. Kun mittari näyttää kaksi ja sitä pyöritetään kolme pykälää taaksepäin, tulee mittariin 999 (niin monta 9:iä kuin mittarissa on numeroita)

      Sama jos mittaria pyöritetään 2:sta 1000-3 pykälää eteenpäin, saadaan 999, ei tullut muistinumeroa, joten mittaria luetaan taaksepäin (10:n komplementti)

      "b) Jos ei syntynyt, ota summasta komplementti ja kirjoita summan etumerkiksi miinus."

      1000-999=1 -> -1

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Nainen, tervetuloa

      Tule luokseni eka vaikka viikoks tai pariksi. Saisin helliä, kannustaa ja tukea sua ja kokata lempi herkkujasi. Pääsisit
      Ikävä
      41
      8044
    2. Olisit ollut varovaisempi

      Nyt jos minut hylkäät ja et meidän asiasta minulle mitään ilmoita niin ettet edes anteeksi pyydä, niin tiedä että minä e
      Ikävä
      83
      4676
    3. Mies sinä olet kaunis katsella

      Olet myös rauhallinen, tavallinen, varovainen, lämmin, poikamainen, komea, ryhdikäs, rentotyylinen, kiva, mukava... jne
      Ikävä
      67
      3391
    4. Vastenmielisyys

      Kuvaa sinua parhaiten
      Ikävä
      55
      2206
    5. Sinulle, tahtoisin kertoa mitä

      ajattelen siitä. Ehkä olen väärässä, mutta minusta kuulostaa jonkin alulta, mutta ei kerro minkä. Se selvinnee myöhemmi
      Ikävä
      28
      1729
    6. Ensitreffit alttarilla Jyrki paljastaa hääyön intiimiasioista kameroiden sammuttua: "Fyysinen..."

      Ooo-la-laa… Ensitreffit alttarilla -sarjassa alkaa hääparien välillä ns. tunteet kuumenemaan. Lue lisää: https://www.s
      Ensitreffit alttarilla
      7
      1697
    7. Miksi suomussalmelaiset haisee niin pahalle?

      Kaupassa käydessä huomaa, miten monet ihmiset haisee todella kammottavalle. Eikö täällä osata käydä pesulla tarpeeksi us
      Suomussalmi
      17
      1626
    8. Persut tyrmäsivät Suomen osallistumisen Ukrainan jälleenrakentamiseen

      Siinä meni sitten kokoomusyrittäiltä bisnekset sivun suun putinistipersujen takia. Jälleenrakentamiseen osallistuvat mu
      Maailman menoa
      359
      1543
    9. Miksi miehet pelkäätte jotain naista?

      Iskeekö ujous, paniikki ja hävetys. En ole niin pelottava miltä vaikutan vink vink.
      Ikävä
      60
      1220
    10. Nuorisojoukko ryösti merkkikengät teinipojan jalasta Helsingin Itäkeskuksessa.

      https://www.is.fi/kotimaa/art-2000010709501.html Muun muassa näidenkin rikosten huomattavan suurista kasvamismääristä vi
      Maailman menoa
      279
      1128
    Aihe