Miniräknare (Windows)

Windows -komponent
Kalkylator

Skärmdump av Normal Mode Calculator i Windows 10
Komponenttyp Kalkylator
Ingår i Sedan Windows 1.0
 Mediafiler på Wikimedia Commons

Calculator (calc.exe) är ett Microsoft Windows -program utformat för att utföra enkla beräkningsoperationer: addition, subtraktion, multiplikation och division, etc. Miniräknaren ger också möjlighet att utföra mer komplexa operationer för tekniska och statistiska beräkningar.

Programmets gränssnitt är utformat för att efterlikna utseendet och känslan av en riktig miniräknare . Dess "knappar" kan tryckas in med musen. Inmatning från den valfria numeriska knappsatsen är möjlig. Du kan också klistra in matematiska uttryck från klippbordet och få resultatet (skriv till exempel "2 * 2 =" i Anteckningar , kopiera och klistra in i miniräknaren, på "skärmen" där svaret "4" kommer att visas).

Funktionssätt

Kalkylatorn före versionen som ingår i Windows 7 fungerade i två lägen: "Normal" och "Engineering" (växling genom "Visa"-menyn). Tillståndet lagras i win.ini-filen , avsnittet [SciCalc]. När du byter läge töms skärmen.

I normala lägen och tekniklägen är operationsordningen annorlunda:

Normalläge

Ingenjörsläge

Utöver det normala läget finns följande tillgängliga:

Trigonometri

Beräkningar i grader, radianer, grader (omkopplaren är endast tillgänglig i decimalläge)

Icke-decimala talsystem

Bitdjupsomkopplare för bearbetade data (8, 4, 2, 1 byte).

Logaritmfunktionen (log) fungerar endast i decimalläge (dec) och hexadecimalt (hexadecimalt) läge. I binärt läge (Bin) och i oktalt läge (okt) fungerar inte logaritmfunktionen (log).

Bitvis logiska operationer och möjligheten att arbeta med andra talsystem än decimal har flyttats till det nya programmerarläget sedan Windows 7 och Windows 8 .

Statistiskt läge

Den aktiveras av "Sta"-knappen (tillgänglig i teknikläge), "statistik"-fönstret visas, datamanipuleringsknappar och grundläggande statistiska funktioner är tillgängliga.

Programmeringsläge

Dök upp i Windows 7 på grund av överföringen av följande funktioner från ingenjörsläget:

  • logiska operationer: AND , OR , XOR ;
  • logisk (Rsh, Lsh) och cyklisk (RoR, RoL) skiftar till höger och vänster (bokstaven R i operationen betyder "höger", bokstaven L betyder "vänster") Rsh  - bitförskjutning av ett binärt tal åt höger n gånger; Lsh  - skiftar bitarna i ett binärt tal åt vänster n gånger, varje gång fylls den minst signifikanta biten med noll, och den mest signifikanta biten trycks ut (talets tecken bevaras inte); RoR  - cyklisk förskjutning åt höger, skiftar alla bitar av ett binärt tal med en bit, varje gång den minst signifikanta biten trycks ut;
  • förmågan att bearbeta data i binära, oktala och hexadecimala talsystem.

När du arbetar med valfritt talsystem i det här läget, visas en binär representation av det aktuella resultatet, uppdelat i tetrader , under "displayen" . Den bearbetade datan presenteras i heltalsformat (bråkdelen av resultatet kasseras alltid) från 8 till 64 bitar i tvås komplementkod .

Ytterligare funktioner

När de klistras in från bufferten behandlas följande teckensekvenser som kommandon: [1]

:c Rensa minne.
:e Slå på läget för inmatning av decimaltal i exponentiell notation.
:m Mata in det visade numret i minnet.
:p Lägg till det visade numret till numret som är lagrat i minnet.
:q Rensa kalkylatorn för nya beräkningar.
:r Visa numret som är lagrat i minnet.
\ .

Begränsningar och fel i arbetet

För närvarande, i alla versioner av Windows, inklusive 64-bitarsversioner, har räknaren en begränsning när den utför operationen att höja ett tal till en heltalspotens. Denna överflödesbegränsning inträffar när man höjer till en heltalspotens om exponenten inte kan representeras av ett 32-bitars heltal. I detta fall visas meddelandet "Ogiltig inmatning". Samtidigt leder inte användningen av ungefär samma, men bråkdelar, exponent till ett fel. Låt, till exempel, måste du beräkna . Direkt utvärdering av uttrycket leder till ett fel, men uttrycket är till exempel korrekt utvärderat och ger resultatet . Från den kan du få:

Ovanstående begränsning när den höjs till en makt leder till en bugg (det kan knappast kallas en begränsning). Det ligger i det faktum att när man tar det motsatta värdet från ett 32-bitars heltal, uppstår ett överflöde, vilket inte behandlas korrekt och leder till en onormal avslutning av programmet. Till exempel kan en krasch inträffa när uttrycket utvärderas

.

Rätt resultat kan erhållas genom att ändra exponenten, till exempel enligt följande:

eller

.

Ett antal andra begränsningar är förknippade med den ogenomtänkta implementeringen av beräkningsalgoritmer, vilket resulterar i en förlust av noggrannhet för vissa värden, vilket ibland leder till betydande fel. Således leder standardformeln för beräkning av area-sinus för stora negativa värden av argumentet till subtraktion av nära tal och, som ett resultat, förlust av signifikanta siffror i resultatet. Låt oss till exempel beräkna area-sinus ( ) för talet med hjälp av Windows-kalkylatorn . Vi får ett resultat som inte har med rätt svar att göra . I det här fallet kan det korrekta svaret erhållas med hjälp av funktionens udda egenskap : .

För en hyperbolisk tangent ( ), är vissa argumentvärden ogiltiga, även om funktionen faktiskt existerar och inte svämmar över för några argumentvärden. Nämligen vid eller meddelandet "Ogiltig input" utfärdas. Denna begränsning är orimlig, eftersom funktionsvärdena för de angivna argumentvärdena är ungefär lika och resp.

Utveckling

Windows 7 har en betydligt uppdaterad kalkylator. Förutom Normal och Engineering finns det lägen för programmerare (Programmerare) och statistisk (Statistik). I varje läge (förutom det statistiska) hålls beräkningshistoriken. Till höger om räknarens huvudpanel kan du öppna paneler för att beräkna skillnaden mellan datum, beräkna bränsleförbrukning eller lånebetalningar och konvertera fysiska kvantiteter.

I programmeringsläge kan du bara utföra operationer på heltal, och i ingenjörsläge kan du inte konvertera tal från ett talsystem till ett annat. Detta är en betydande nackdel med den nya versionen av kalkylatorn.

I Windows 8 fick den ytterligare en Metro -analog, och i Windows 10 ersattes den helt av en UWP- version .[ vad? ] .

Den 29 januari 2019 öppnade Microsoft källkoden för räknaren genom att publicera den på GitHub [2] och släppa en färdplan för dess utveckling [3] .

Anteckningar

  1. calc.chm Tangentsekvenser för anrop av funktioner
  2. Microsoft Corporation. Windows Calculator: En enkel men kraftfull kalkylator som levereras med Windows: Microsoft/calculator  //  GitHub: webbplats. - 2019. - 6 mars. Arkiverad från originalet den 6 mars 2019.
  3. Microsoft Corporation. Windows Calculator Roadmap  (engelska)  // GitHub: webbplats. - 2019. - 6 mars. Arkiverad från originalet den 6 mars 2019.