pienin integer eri kuin javassa

Anonyymi

10

1504

    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. Ikävä sinua

      Onkohan sulla ollut sama tunne kuin mulla viimeisten parin päivän aikana, eilen varsinkin. Ollaan oltu ihan lähellä ja k
      Ikävä
      31
      3874
    2. Oletko sä oikeesti varattu?

      Että sen takii ei voida olla tekemisissä?
      Ikävä
      41
      2599
    3. Otavassa tapahtuu!

      Rakennuspalo, yläkerta tulessa. Henkirikosta epäillään. Tiettyä henkilöautoa etsitään, minkä mahdollinen epäilty ottanut
      Mikkeli
      42
      2558
    4. Tulemmeko hyvin

      Toimeen ja juttuun keskenämme? Luulen, että sopisit hyvin siihen ☀️ympäristöön, paljon kaikkea erilaista.♥️mietin tätä s
      Ikävä
      8
      2345
    5. Horoskooppikysely

      Oma ja ikävän kohteen horoskooppi? Sopivatko yhteen?
      Ikävä
      29
      2148
    6. Rakas, kerro mulle

      Miltä se tuntuu?
      Ikävä
      38
      1779
    7. Tiedän kuka sinä noista olet

      Lucky for you, olen rakastunut sinuun joten en reagoi negatiivisesti. Voit kertoa kavereillesi että kyl vaan, rakkautta
      Ikävä
      46
      1623
    8. Pitkäaikaiset työttömät työllisyystöillä takaisin yhteiskuntaan

      Vaikka se vähän maksaakin, niin parempi on valtion teettää hanttihommia, jottei yksilöistä tule yhteiskuntakelvottomia.
      Maailman menoa
      301
      1505
    9. Kesäseuraa

      Kesäseuraa mukavasta ja kauniista naisesta. Viesti tänään mulle muualla asiasta jos kiinnostaa Ne ketä tahansa huoli, t
      Ikävä
      46
      1468
    10. Oletko ollut vihainen, suuttunut tai pettynyt

      johonkin kaivattusi toimintaan?
      Ikävä
      141
      1467
    Aihe