Hirdetés

Új hozzászólás Aktív témák

  • Szőkecica
    csendes tag

    Előjeles szám a legfelső biten tárolja az előjelet, de ezzel egy hasznos bitet elvesztünk az előjel nélkülihez képest. Vagyis az előjelnélküli által tárolt legnagyobb max szám az a duplája az előjeles által tárolt max-nak.

    Az azt jelenti, hogy az a változó 0 és 255 közötti értékeket vehet fel.

    Itt jól megfigyelhető a signed és az unsigned által tárolható min és max értékek: [link] (c#-ról van szó, de ez ne zavarjon meg ;)

    Megnéztem köszi, most már kezdem érteni de még mindig nem tiszta. Írtam egy példát és ezt próbálgatom hogy most hogyis van ez.

    #include <stdio.h>

    main()
    {
    char k;
    k=127; /* -128 és 127 közötti értéket tud tárolni */

    printf("%d\n\n", k);
    printf(" %d bajt\n\n", sizeof(k));
    }

    ahogy tesztelgettem oda írtam a kommentemet (hogy nehogy lefelejtsem:-)). Az lenne most a kérdésem hogy akkor ez alapértelmezetten előjeles? Ha jól értem, és hogy tudom előjel nélkülivé alakítani? Gondolom akkor negatív értéket nem tud felvenni, cak pozitívat, ami 0-255 között lehet? Mit jelent tulajdonképpen az hogy előjeles?
    Azt hittem hogy az ami előtt van egy - jel :-)

Új hozzászólás Aktív témák