Windows | Tipy | Matematika

Pozor na kalkulačku ve Windows, nebo propadnete z matematiky

Používáte kalkulačku ve Windows? Jeden z vás nám do redakčního e-mailu napsal stížnost, že nepočítá zcela korektně podle elementárních matematických zásad. Máme na mysli samozřejmě prioritu početních operací, tedy učivo ze základní školy.

Jedná se o starý problém, který si však zaslouží připomenutí. Zvláště pak v případě, pokud byste potřebovali spočítat něco důležitého (Přeci jen by bylo nepříjemné vyhladit špatným výpočtem třeba v Temelíně polovinu Česka :-).

Když na kalkulačce budete chtít spočítat příklad 4 + 2 * 5, namísto správného výsledku 14 se zobrazí 30. Kalkulačka totiž ignoruje přednost násobení před sčítáním a příklad počítá sekvenčně tak, jak vyťukáváte číslice za sebou, tedy:

4 + 2 = 6 a dále 6 * 5 = 30

Správně by ale po klepnutí na tlačítko = měla zobrazit 14, neboť výraz 4 + 2 * 5 lze rozepsat jako 4 + 5 + 5. Právě proto má násobení přednost před sčítáním.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Po klepnutí na tlačítko = se bohužel zobrazí 30, což je samozřejmě špatně. Nutno podotknout, že se nejedná o nikterak nový problém. Stejným chováním trpí i starší kalkulačky Windows.

Kalkulačka ve Windows se začne korektně chovat leda v případě, že ji přepnete do vědeckého režimu!

Klepněte pro větší obrázekKlepněte pro větší obrázek
Ve vědeckém režimu kalkulačky už posloupnost operací funguje dle pravidel a výsledkem je 14. Pokud si tohoto rozdílného chování nebude uživatel vědom, spočítá naprostý nesmysl.

Možná je toto nekorektní chování způsobeno jen tím, že Microsoft kopíruje primitivně-sekvenční chování starých levných plastových kalkulaček a vědecký režim už napodobuje ty lepší, na které si pamatujeme třeba ze středoškolských a vysokoškolských studií. Má to jeden háček, Microsoft je v tomto přístupu široko daleko jediný.

Klepněte pro větší obrázekKlepněte pro větší obrázekKlepněte pro větší obrázek
Kalkulačka z čistého Androidu 8.1, macOS a ta webová v Googlu. Všechny dodržují posloupnost, takže výsledkem je 14 a nikoliv 30 jako v případě Windows.

Když stejný výpočet bez uvedení závorek vyzkoušíte v kalkulačce na Androidu (přinejmenším na tom čistém), na webu, anebo na macOS, všichni dodržují i v základním režimu korektní posloupnost a výsledkem tedy bude číslo 14.

Rozpaky budí i programátorský režim kalkulačky

Nutno podotknout, že se nejedná o jediné zvláštní chování kalkulačky z Windows 10, které budí rozpaky. Jisté problémy má i programátorský režim. Pokud v něm výpočty omezíme na bajty (BYTE), bere v potaz pouze signed bajty, tedy bajty se znaménkem. Takový bajt může nabývat hodnot -127 až 127.

Klepněte pro větší obrázek
Bajt s šestnáctkovou hodnotou FF má tu desítkovou 255. To často znají i neprogramátoři díky hexadecimálnímu vyjádření RGB barvy (FFFFFF = plný bílý odstín RGB). V případě programátorského režimu kalkulačky ve Windows 10 však šestnáctková hodnota FF odpovídá desítkové hodnotě -1, protože kalkulačka počítá se signed bajty, tedy s bajty se znaménkem.

Základní unsigned bajt bez znaménka má ale přeci rozsah 0 až 255! Bohužel, kalkulačka Windows jej z nějakých těžko pochopitelných příčin nepodporuje, a tak se pro podobné počty se základními bajty naprosto nehodí, což je velká škoda.

Co udělat s novým počítačem s Windows, než ho začnete používat

Diskuze (131) Další článek: Británie vymýšlí způsob, jak dostat Zuckerberga k výslechu. Už delší dobu se mu nechce

Témata článku: Software, Microsoft, Google, Windows, Android, Tipy, Matematika, Jistý problém, Režim, Znaménko, Správný výsledek, Základní režim, Stejné chování, Velká škoda, Posloupnost, Chování, Nekorektní chování, Byte, Česká republika, Stejný výpočet, Naprostý nesmysl, Početní operace, Window, Kalkulačka, Nový problém


Určitě si přečtěte

Miliardový večírek končí. Rusko nemůže být z Crew Dragonu nadšené

Miliardový večírek končí. Rusko nemůže být z Crew Dragonu nadšené

** USA platí Rusku stamiliony dolarů za dopravu astronautů na ISS ** Dopravu amerických astronautů mají nyní převzít soukromé lodě ** Rusko je vytlačováno ze hry, mohou ho spasit vesmírní turisté

Petr Kubala | 72

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

Photolemur 3: Prostě do něj přetáhnete fotky a začne se dít magie. Tedy údajně...

** Je lepší nabušený Photoshop, nebo program s jedním tlačítkem? ** Photolemur si myslí to druhé ** Tento fotoeditor neumí skoro nic, a přitom (skoro) všechno

Jakub Čížek | 22

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

Tohle tak jednou zažít: Nová vzducholoď Airlander 10 s prosklenou podlahou

** Airlander 10 nabídne plavby vzduchem v interiéru s prosklenou podlahou ** Luxusní vzducholoď byla původně vyvíjena pro vojenské účely ** Počítá se s třídenními „kochacími“ výlety za poznáním

Karel Kilián | 7

Modelářský zázrak: Maketa raketoplánu Columbia, která létá jako skutečná raketa

Modelářský zázrak: Maketa raketoplánu Columbia, která létá jako skutečná raketa

** Model raketoplánu Columbia od českého konstruktéra umí i létat ** Obdivuhodný model si vzal 1600 hodin práce ** Podívejte se na fotografie ze stavby a prvního letu

Karel Jeřábek | 25



Aktuální číslo časopisu Computer

Velký test androidů do 6 500 Kč

Tipy na starší foťáky za super cenu

Důkladný test sportovních kamer

Dárek pro každého: první vydání Computeru