KiCad (Wikipedie), sada svobodných softwarových nástrojů pro počítačový návrh elektronických zařízení (EDA), byl vydán v nové major verzi 10.0.0 (𝕏). Přehled novinek v příspěvku na blogu.
Letošní Turingovou cenu (2025 ACM A.M. Turing Award, Nobelova cena informatiky) získali Charles H. Bennett a Gilles Brassard za základní přínosy do oboru kvantové informatiky, které převrátily pojetí bezpečné neprolomitelné komunikace a výpočetní techniky. Jejich protokol BB84 z roku 1984 umožnil fyzikálně zaručený bezpečný přenos šifrovacích klíčů, zatímco jejich práce o kvantové teleportaci položila teoretické základy pro budoucí kvantový internet. Jejich práce spojila fyziku s informatikou a ovlivnila celou generaci vědců.
Firefox 149 dostupný od 24. března přinese bezplatnou vestavěnou VPN s 50 GB přenesených dat měsíčně (s CZ a SK se zatím nepočítá) a zobrazení dvou webových stránek vedle sebe v jednom panelu (split view). Firefox Labs 149 umožní přidat poznámky k panelům (tab notes, videoukázka).
Byla vydána nová stabilní verze 7.9 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 146. Přehled novinek i s náhledy v příspěvku na blogu.
Dle plánu byla vydána Opera GX pro Linux. Ke stažení je .deb i .rpm. V plánu je flatpak. Opera GX je webový prohlížeč zaměřený na hráče počítačových her.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.27.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.
Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na
… více »Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.
#include <iostream>
int main(int argc, char **argv) {
unsigned long int c = 0;
float t = 0;
while (t < 3000) {
if (c % 1000000 == 0) {
std::cout << t << "\n";
}
c++;
t += 0.0001;
}
return 0;
}
Kompilace g++ -ansi -Wall -pedantic test.cpp -o test
Cyklus by mel pridavat k float promenne t konstantu 1e-4 dokud t nedosahne hodnoty 3000. To se vsak nestane, protoze hodnota t se zastavi na cisle 2048 a dal nejde (i kdyz je inkrementovana, zustava konstantni). Tato limitni hodnota roste s krokem, napr. pro krok 1e-3 se inkrementace zastavi az na 32768, pro 1e-2 to je 262144.
What gives?
nebo lépe vlastnost IEEE754. Nechce se mi to počítat, nicméně jde o to, že pro hodnotu 1E-4 máš exponent -14 a pro hodnotu 2048 máš exponent 11. Když sečítáš floaty, tak je nejdřív převedeš na ten větší exponent (v tomhle případě 11) a mantisu menšího posuneš doprava. Pro 1E-4 tu mantisu posuneš o 25 míst do prava. Problém je v tom, že mantisa má 24 bitů (nepočítám implicitní 1) a tudíž bude pro hodnotu 1E-4 nulová => přičítáš nulu.
No a nebude to tým, že číslo 2048.0001 nie je možné reprezentovať dátovým typom float?
Pohraj sa na http://www.h-schmidt.net/FloatApplet/IEEE754.html
binárne 01000101000000000000000000000000 je float 2048.0
binárne 01000101000000000000000000000001 je float 2048.0002
a+b==a pokud b<epsilon/2*a je docela normální. Spíš mě překvapuje, že to neví někdo, kdo o IEEE754 evidentně ví.
float - 7 platných číslic (jestli se nepletu je zaručeno 6) + exponent(desetinná čárka cca. ± 38míst)double - 15 platných číslic + exponent(desetinná čárka cca. ± 300míst)long double - 19 platných číslic + exponent (Pozor: v případě M$ je to jako double) g++ -o inforeal inforeal.cpp
) a spustíte dostanete základní informace:
#include <iostream>
#include <float.h>
int main(int argc, char **argv) {
std::cout.precision(FLT_DIG);
std::cout.flags(std::ios::scientific);
std::cout << "float:" << std::endl;
std::cout << " min: " << FLT_MIN << std::endl;
std::cout << " max: " << FLT_MAX << std::endl;
std::cout << " 10 exponent min: " << FLT_MIN_10_EXP << std::endl;
std::cout << " 10 exponent max: " << FLT_MAX_10_EXP << std::endl;
std::cout << " digits: " << FLT_DIG << std::endl;
std::cout << " Epsilon: " << FLT_EPSILON << std::endl;
std::cout.precision(DBL_DIG);
std::cout << "double:" << std::endl;
std::cout << " min: " << DBL_MIN << std::endl;
std::cout << " max: " << DBL_MAX << std::endl;
std::cout << " 10 exponent min: " << DBL_MIN_10_EXP << std::endl;
std::cout << " 10 exponent max: " << DBL_MAX_10_EXP << std::endl;
std::cout << " digits: " << DBL_DIG << std::endl;
std::cout << " Epsilon: " << DBL_EPSILON << std::endl;
std::cout.precision(LDBL_DIG);
std::cout << "long double:" << std::endl;
std::cout << " min: " << LDBL_MIN << std::endl;
std::cout << " max: " << LDBL_MAX << std::endl;
std::cout << " 10 exponent min: " << LDBL_MIN_10_EXP << std::endl;
std::cout << " 10 exponent max: " << LDBL_MAX_10_EXP << std::endl;
std::cout << " digits: " << LDBL_DIG << std::endl;
std::cout << " Epsilon: " << LDBL_EPSILON << std::endl;
#if defined FLT_ROUNDS
std::cout << std::endl;
std::cout << "Type of rounding floating numbers: ";
switch(FLT_ROUNDS){
case -1 : std::cout << "indeterminable"; break;
case 0 : std::cout << "towards zero"; break;
case 1 : std::cout << "to the nearest number"; break;
case 2 : std::cout << "towards positive infinity"; break;
case 3 : std::cout << "towards negative infinity"; break;
default : std::cout << "? - no standard definition"; break;
}
std::cout << std::endl;
#endif
return 0;
}
Tiskni
Sdílej: