Byla vydána verze 5.30 dnes již open source operačního systému RISC OS (Wikipedie).
V aktuálním příspěvku na blogu počítačové hry Factorio (Wikipedie) se vývojář s přezývkou raiguard rozepsal o podpoře Linuxu. Rozebírá problémy a výzvy jako přechod linuxových distribucí z X11 na Wayland, dekorace oken na straně klienta a GNOME, změna velikosti okna ve správci oken Sway, …
Rakudo (Wikipedie), tj. překladač programovacího jazyka Raku (Wikipedie), byl vydán ve verzi #171 (2024.04). Programovací jazyk Raku byl dříve znám pod názvem Perl 6.
Společnost Epic Games vydala verzi 5.4 svého proprietárního multiplatformního herního enginu Unreal Engine (Wikipedie). Podrobný přehled novinek v poznámkách k vydání.
Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.
Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.
Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.
Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.
Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.
Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.
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:
[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
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.
scanf("%u", &c); printf(" unsigned=%u",c);
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ě.
Tiskni Sdílej: