pienin integer eri kuin javassa

Anonyymi

Mistä johtuu että pienin int on yhtä suurempi kuin -2^n

https://codescracker.com/c/c-data-types.htm
https://codescracker.com/cpp/cpp-data-types.htm
https://codescracker.com/java/java-integers.htm

Myös tuolla määritellään alueet kuten javassa
https://en.wikipedia.org/wiki/Integer_(computer_science)

esim.
Signed: From −32,768 to 32,767, from −(2^15) to 2^15 − 1
c:ssä ja c :ssa esim.
−32,767 to 32,767

10

1380

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
      • Anonyymi

        Mutta kun -32768 ei kuuluu lukualueeseen, esim abs(-32768) antaa vastauseksi -32768 c-kielessä


      • Anonyymi

      • Anonyymi
        Anonyymi kirjoitti:

        tuolla on myös -32768 ... 32767

        https://en.wikipedia.org/wiki/C_data_types

        Ilmeisesti voi toimia oikein -2^n (n kuvaa suurin potenssia ko. lukualueelle) arvolla, mutta se ei ole varmaa: viite a b c d ja e


      • malaire
        Anonyymi kirjoitti:

        Mutta kun -32768 ei kuuluu lukualueeseen, esim abs(-32768) antaa vastauseksi -32768 c-kielessä

        -32768 kuuluu lukualueeseen mutta abs(-32768) = 32768 ei kuulu.


      • Anonyymi
        Anonyymi kirjoitti:

        Mutta kun -32768 ei kuuluu lukualueeseen, esim abs(-32768) antaa vastauseksi -32768 c-kielessä

        Tuo ei ehkä pidä paikkaansa mutta jotain ongelmaa oli :)


    • Anonyymi
    • Nähtävästi olin väärässä ja C standardin mukaan lukualue todella on "ainakin -32767 .. 32767".

      Syy on historiallinen. Tietokoneiden alkuaikoina oli useita eri tapoja miten negatiivisia lukuja esitettiin binäärimuodossa. Joissakin prosessoreissa lukualue oli -32767 .. 32767 ja toisissa -32768 .. 32767 ja yhteensopivuuden vuoksi C standardi tukee lukualuetta "ainakin -32767 .. 32767" joka on yhteensopiva noiden molempien kanssa.

      Esimerkiksi Java sen sijaan on sen verran "uusi" ohjelmointikieli että sen ei tarvinnut tukea historiallisia prosessoreja joiden lukualue oli -32767 .. 32767, vaan se pystyi ottamaan lukualueeksi tuon -32768 .. 32767 jota käytännössä kaikki uudemmat prosessorit käyttivät.

      Nykyään käytännössä kaikki prosessorit käyttävät "kahden komplementti" muotoa jossa lukualue on -32768 .. 32767 myös kun käytetään C-kieltä.

      • Anonyymi

        Mistähän sinä tuon tarinan löysit


      • Anonyymi kirjoitti:

        Mistähän sinä tuon tarinan löysit

        Useista lähteistä yhdistelin, esimerkiksi:

        https://en.wikipedia.org/wiki/C_data_types#cite_note-restr-5
        "The minimal ranges −(2^(n−1)−1) to 2^(n−1)−1 (e.g. [−127,127]) come from the various integer representations allowed by the standard (ones' complement, sign-magnitude, two's complement). However, most platforms use two's complement, implying a range of the form −2^(m−1) to 2^(m−1)−1 with m ≥ n for these implementations, e.g. [−128,127] (SCHAR_MIN = −128 and SCHAR_MAX = 127) for an 8-bit signed char."

        https://en.wikipedia.org/wiki/Signed_number_representations#History
        - negatiivisten lukujen esitystapojen historiaa


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

    Luetuimmat keskustelut

    1. Saako kantaa asetta

      Voiko olla koskaan kotelossa lonkalla ase.. Siis ei mikään luvaton ase. Johon on luvat. Esim luottamustoimessa, tai kaup
      Ähtäri
      56
      3973
    2. Mies mitä ajattelet naisista?

      Kerro mitä ajatuksia nousee. Mitä naiset sinulle merkitsee? Sana on vapaa.
      Ikävä
      126
      2864
    3. Mitä laitatte karjalanpiirakan päälle?

      Voita tietenkin, mutta mitä muuta? Itse yleensä juustoa, jotain leikkelemakkaraa ja tuorekurkkua
      Tuusniemi
      43
      2603
    4. Kerro kaivattusi

      Jokin tapa/piirre mikä sinua viehättää ja mistä hän voisi myös tunnistaa itsensä.
      Ikävä
      65
      2197
    5. Vakkuri puhuu että Suomi joutuu sotaan.

      Hänen mukaansa asiantuntijat ovat yhtä mieltä että Suomi joutuu sotaan Venäjän kanssa. En tiedä kuinka lähellä se on, mu
      Maailman menoa
      437
      1797
    6. Rakastan sua

      Tiedäthän sen ❤️😢
      Ikävä
      62
      1267
    7. Järkyttävä tieto Purrasta

      Purra tapasi nykyisen miehensä täällä. Suomi24:ssä! Tulipa likainen olo. Nyt loppuu tämä roikkuminen tällä palstalla.
      Maailman menoa
      71
      1235
    8. Onko sulla mua enää yhtään ikävä

      Etkö halua enää yrittääkään?
      Ikävä
      56
      1153
    9. Toinen toista

      Hyvää sunnuntai huomenta susi rinssiltä 🤴🏼☕❄️⚜️❤️
      Ikävä
      259
      1069
    10. 45
      988
    Aihe