Vývojáři dekompilátoru rev.ng otevřeli jeho backend revng-c. Zdrojové kódy jsou k dispozici na GitHubu.
Poněvadž Redis už není svobodný, konsorcium Linux Foundation a Amazon Web Services (AWS), Google Cloud, Oracle, Ericsson a Snap Inc. společně představili svobodný fork Redisu s názvem Valkey.
Sam Bankman-Fried, zakladatel zkrachovalé kryptoměnové burzy FTX, byl dnes odsouzen k 25 letům vězení [Yahoo Finance].
Proxmox oznámil, že usnadňuje migraci z VMware ESXi do Proxmoxu.
Byla vydána nová verze 2.53.18.2 svobodného multiplatformního balíku internetových aplikací SeaMonkey (Wikipedie). Přehled novinek v poznámkách k vydání.
Na blogu programovacího jazyka Swift byl publikován příspěvek Psaní aplikací pro GNOME v programovacím jazyce Swift. Používá se Adwaita pro Swift.
egui je GUI knihovna pro programovací jazyk Rust běžící na webu i nativně. Vydána byla verze 0.27.0.
Byla vydána nová verze 6.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 13.0.13. Thunderbird na verzi 115.9.0.
Linka STOPonline.cz v roce 2023 přijala 3700 hlášení závadného obsahu na internetu, 22 bylo předáno PČR, 23 bylo předáno ISP a 944 závadových domén zobrazujících dětskou nahotu či pornografii bylo nahráno do mezinárodního systému ICCAM, který je spravován asociací INHOPE.
Byla publikována podrobná analýza v upstreamu již opravené bezpečnostní chyby CVE-2024-1086 v Linuxu v nf_tables.
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: