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

1566

    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


      • 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. Päivän Sanna: Nvidia sijoittaa miljardi dollaria Nokian osakkeisiin

      Nvidia merkitsee osakkeet 6,01 Yhdysvaltain dollarin osakekohtaisella merkintähinnalla tavanomaisten toteutumisehtojen t
      Maailman menoa
      53
      5500
    2. Palkansaajilta kupattiin 27,5 mrd euroa työeläkkeisiin

      Jo pelkän himmelin toimintakulut olivat 400 miljoonaa euroa, jolla olisi mukavasti tuottanut myös sote-palveluja hyvinvo
      Maailman menoa
      93
      3389
    3. Suomessa Pohjoismaiden tyhmimmät demarit......aijaijai..

      Lasse Lehtinen sanoo suoraan, että Ruotsissa on fiksummat demarit kuin Suomessa. Ja Tampereella fiksummat demut kuin Hel
      Maailman menoa
      45
      3289
    4. Lehtinen: "Oli demareidenkin onni, että valkoiset voittivat sodan 1918"

      Lasse Lehtisen mukaan vasemmalla on radiohiljaisuus hänen uutuuskirjastaan, "Läheltä piti. Kansakunnan hurjat hetket" L
      Maailman menoa
      75
      2458
    5. SDP:n valtuutettu valehtelee koulutuksensa

      SDP:n helsinkiläinen kaupunginvaltuutettu Mahad Ahmed käyttää maisterin titteliä suoritettuaan 60 opintopisteen epäviral
      Maailman menoa
      54
      2341
    6. Nepotismi jytkyttää porvaristossa

      Taas uutisoidaan, että useampi perussuomalainen kansanedustaja on palkannut oman perheenjäsenensä eduskunta-avustajaksi
      Maailman menoa
      75
      1877
    7. Persut palkkaavat verorahoilla

      avustajikseen lapsiaan ja naisystäviään. Juuso on palkannut avustajakseen oman poikansa. Hänen koulutustaustastaan ei
      Maailman menoa
      299
      1685
    8. Ville Rajainmäki, 25, omaishoitaja

      Hän on 65 eläkeikääntyneen avustajana 24/7 Kerrankin omaishoitajaa arvostetaan ja maksetaan asiaankuuluvaa, 3000€, pal
      Maailman menoa
      21
      1048
    9. Anteeksi T

      Aamulla olit iloisena huomenta toivottamassa ja minä naama mutrussa sanoi huomenet takaisin. Tajusin vasta yläkerrassa
      Ikävä
      7
      1046
    10. Kuinka kauan

      Olet tuntenut kaivattusi oletko edes jutellut hänen kanssaan Tietääkö että kaipaat häntä
      Ikävä
      63
      933
    Aihe