abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 22:44 | Nová verze

    Byla vydána nová verze 1.26 programovacího jazyka Go (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 18:11 | Nová verze

    CrossOver, komerční produkt založený na Wine, byl vydán ve verzi 26. Přehled novinek v ChangeLogu. CrossOver 26 vychází z Wine 11.0, D3DMetal 3.0, DXMT 0.72, Wine Mono 10.4.1 a vkd3d 1.18. Do 17. února lze koupit CrossOver+ se slevou 26 %.

    Ladislav Hagara | Komentářů: 9
    včera 14:22 | Komunita

    KiCad je nově k dispozici také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit [Mastodon, 𝕏].

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý projekt

    Šenčenská firma Seeed Studio představila projekt levného robotického ramena reBot Arm B601, primárně coby pomůcky pro studenty a výzkumníky. Paže má 6 stupňů volnosti, dosah 650 mm a nosnost 1,5 kilogramu, podporované platformy mají být ROS1, ROS2, LeRobot, Pinocchio a Isaac Sim, krom toho bude k dispozici vlastní SDK napsané v Pythonu. Kompletní seznam součástek, videonávody a nejspíš i cena budou zveřejněny až koncem tohoto měsíce.

    … více »
    NUKE GAZA! 🎆 | Komentářů: 7
    včera 11:11 | Nová verze

    Byla vydána nová verze 36.0, tj. první stabilní verze nové řady 36, svobodného multimediálního centra MythTV (Wikipedie). Přehled novinek a vylepšení v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 04:44 | Nová verze

    Byl vydán LineageOS 23.2 (Mastodon). LineageOS (Wikipedie) je svobodný operační systém pro chytré telefony, tablety a set-top boxy založený na Androidu. Jedná se o nástupce CyanogenModu.

    Ladislav Hagara | Komentářů: 3
    včera 03:44 | IT novinky

    Od března budou mít uživatelé Discordu bez ověření věku pouze minimální práva vhodná pro teenagery.

    Ladislav Hagara | Komentářů: 23
    9.2. 23:43 | IT novinky

    Evropská komise (EK) předběžně shledala čínskou sociální síť pro sdílení krátkých videí TikTok návykovým designem v rozporu s unijním nařízením o digitálních službách (DSA). Komise, která je exekutivním orgánem Evropské unie a má rozsáhlé pravomoci, o tom informovala v tiskovém sdělení. TikTok v reakci uvedl, že EK o platformě vykreslila podle něj zcela nepravdivý obraz, a proto se bude bránit.… více »

    Ladislav Hagara | Komentářů: 20
    9.2. 18:33 | Nová verze

    Offpunk byl vydán ve verzi 3.0. Jedná se o webový prohlížeč běžící v terminálu a podporující také protokoly Gemini, Gopher a RSS. Přibyl nástroj xkcdpunk pro zobrazení XKCD v terminálu.

    Ladislav Hagara | Komentářů: 0
    9.2. 18:22 | Zajímavý projekt

    Promethee je projekt, který implementuje UEFI (Unified Extensible Firmware Interface) bindingy pro JavaScript. Z bootovacího média načítá a spouští soubor 'script.js', který může používat UEFI služby. Cílem je vytvořit zavaděč, který lze přizpůsobit pomocí HTML/CSS/JS. Repozitář se zdrojovými kódy je na Codebergu.

    NUKE GAZA! 🎆 | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (19%)
     (6%)
     (0%)
     (10%)
     (26%)
     (3%)
     (5%)
     (2%)
     (12%)
     (28%)
    Celkem 835 hlasů
     Komentářů: 25, poslední 3.2. 19:50
    Rozcestník

    Dotaz: int vs unsigned int, c vs c++ -> vraci jine hodnoty

    6.8.2011 02:15 sparrowhawk | skóre: 6
    int vs unsigned int, c vs c++ -> vraci jine hodnoty
    Přečteno: 423×

    dobry den,

    mohl by mi nekdo vysvetlit, proc u obou techto kodu je vysledek pokazde jiny? v pripade C je v promenne "c" ulozeno take cislo 2, ktere by tam ale byt nemelo, ze?
    v pripade C++ je v "c" ulozeno cislo, ktere je rovne maximalni hodnote int zkracene o prave zadane cislo vzdy o jednu mensi

     

    kod C

    #include <stdio.h>
    int main()
    {
    int a;
    signed int b;
    unsigned int c;
    printf("Enter a");
    scanf("%d", &a);
    printf("int=%d",a);
    printf("Enter b");
    scanf("%d", &b);
    printf(" signed=%d",b);
    printf("Enter c");
    scanf("%d", &c);
    printf(" unsigned=%d",c);
    return 0;
    }
    


    kod C++

    #include <iostream>
    using namespace std;
    int main(void)
    int a;
    signed int b;
    unsigned int c;
    cout << "Enter number a: ";
    cin >> a;
    cout << "Enter number b: ";
    cin >> b;
    cout << "Enter number c: ";
    cin >> c;
    cout << "int = "<< a << ", signed int = " << b << ", unsigned int = "<< c << endl;
    }
    

    predem dekuji za jakekoli reakce


    Řešení dotazu:


    Odpovědi

    6.8.2011 05:14 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    Přílohy:
    Nějak to nechápu kde je ten rozdíl ? Mě to vypisuje stejné hodnoty ...
    [petr@nt ~]$ ./pokus.bin
    Enter a 2
     int=2
    Enter b 2
     signed=2
    Enter c 2
     unsigned=2
    [petr@nt ~]$ ./pokus.bin
    Enter a 1
     int=1
    Enter b 1
     signed=1
    Enter c 1
     unsigned=1
    [petr@nt ~]$ ./pokus.bin
    Enter a 100
     int=100
    Enter b 100
     signed=100
    Enter c 100
     unsigned=100
    
    [petr@nt ~]$ ./pokus_cpp.bin
    Enter number a: 2
    Enter number b: 2
    Enter number c: 2
    int = 2, signed int = 2, unsigned int = 2
    [petr@nt ~]$ ./pokus_cpp.bin
    Enter number a: 1
    Enter number b: 1
    Enter number c: 1
    int = 1, signed int = 1, unsigned int = 1
    [petr@nt ~]$ ./pokus_cpp.bin
    Enter number a: 100
    Enter number b: 100
    Enter number c: 100
    int = 100, signed int = 100, unsigned int = 100
    
    6.8.2011 11:56 sparrowhawk | skóre: 6
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    jsem vul, v dotazu jsem spatne uvedl, ze pri zadani zaporneho cisla, napr. "-2" ....... nicmene, nize uz mi bylo vse vysvetleno. jedna se %d vs %u. toto problem vyresilo

    vsem dekuji za odpovedi
    6.8.2011 12:00 sparrowhawk | skóre: 6
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    nicmene mam k tomuto jeste jeden dotaz. podle vseho se zda, a ted me opravte, nebo mi to potvrdte, ze v pripade C je kazdy typ by default unsigned a v pripade C++ je kazdy typ by default signed. je to tak?
    6.8.2011 12:45 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    Ne. Proč si to myslíte? U int, long i long long je default signed. Jen v případě char je to složitější a závisí to na dalších okolnostech.
    6.8.2011 12:50 sparrowhawk | skóre: 6
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    jo, mate pravdu. moje i chyba pri oprave zdrojoveho kodu. jsem s %d nahradil za %u i u samotneho int. dekuji, uz je to jasne a uz vim
    Řešení 1× (sparrowhawk (tazatel))
    6.8.2011 05:31 Sten
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    Tipuju problém v tom, že ve formátovacích funkcích zaměňujete signed a unsigned:
    scanf("%u", &c);
    printf(" unsigned=%u",c);
    Řešení 1× (sparrowhawk (tazatel))
    6.8.2011 10:55 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty

    To má být nějaký kvíz "uhodněte, jak měl znít dotaz"? Za prvé: druhá ukázka nejde přeložit, protože vám tam chybí otevírací levá složená závorka funkce main(). Za druhé: neuvádíte, na jaké platformě a jakým překladačem jste to překládal. Za třetí (a nejhorší): neobtěžoval jste se ani napsat, s jakým vstupem jste to vlastně testoval. Za čtvrté: tvrdíte, že v proměnné c je u první ukázky hodnota 2; jak jste na to přišel, když vypisujete něco jiného, než její obsah?

    Můj tip je, že jste zadával hodnotu -2, první program vám vypsal třikrát -2 (ne 2, jak tvrdíte) a druhý dvakrát -2 a potřetí něco jako 2^{32}-2. Vysvětlení je takové, že v prvním programu konvertujete zadanou hodnotu (při vstupu) na unsigned int a pak zase zpátky na int (při volání printf()). Ve druhém provedete konverzi jen jednou (při zpracování vstupu), u výstupu se použije správná verze operátoru << podle typu proměnné. Pokud byste v prvním programu použil u posledního printf() správný formát %u, dopadlo by to stejně.

    6.8.2011 12:29 sparrowhawk | skóre: 6
    Rozbalit Rozbalit vše Re: int vs unsigned int, c vs c++ -> vraci jine hodnoty
    ano, omlouvam se, popsal jsem to spatne. vas tip byl ovsem spravny :) a resenim, jako u vyse uvedeneho komentare, byla chyba v pouziti %d namisto %u

    dekuji

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.