Przejdź do treści
Przewodnik po Varlig
Strona główna Varlig

Wyniki: wyświetlanie i precyzja

Ta strona wyjaśnia, jak Varlig pokazuje wynik obok każdego wiersza: ile miejsc po przecinku widać, kiedy duże liczby są skracane, jak zaokrąglane są kwoty, jak wygląda każdy rodzaj wyniku i jak dokładne są wartości używane w obliczeniach. Czytaj od początku lub przejdź do tabeli, gdy wynik wygląda inaczej niż oczekujesz. Pod koniec znajdziesz limity obliczeń w pojedynczym wierszu.

Przechowywane wartości i wyświetlane wyniki

Każdy wiersz jest przetwarzany w dwóch etapach. Najpierw wykonywane jest obliczenie z zachowaniem pełnej wartości. Potem wynik jest formatowany dla czytelności, co może oznaczać zaokrąglenie. To zaokrąglenie wpływa tylko na to, co widzisz.

Gdy późniejszy wiersz używa nazwy, korzysta z pełnej wartości, a nie z zaokrąglonych cyfr:

calc
share = 250 / 3 daje 83.3333333333
share * 3 daje 250

Jeśli przepiszesz widoczne cyfry do nowego wiersza, otrzymasz zaokrągloną liczbę. Aby zachować pełną precyzję, użyj nazwy.

Miejsca po przecinku

Wyniki pokazują do dziesięciu miejsc po przecinku, z zaokrągleniem ostatniej cyfry. Końcowe zera są pomijane, więc widzisz 0.75, a nie 0.7500000000.

calc
2 / 3 daje 0.6666666667
1 / 8 daje 0.125

Wyjątkiem jest zaokrąglanie do cyfr znaczących: zero należące do żądanej liczby cyfr jest wyświetlane, ponieważ jego pominięcie sugerowałoby mniejszą precyzję. Dlatego 31.0357 m to 3 sf daje 31.0 m, a 31.0357 m to 1 dp — 31 m.

Przeliczenia przez gęstość składnika pokazują najwyżej dziewięć cyfr znaczących, zgodnie z precyzją samej gęstości. Dlatego 1 cup milk in g wyświetla 242.739531 g. Podstawowe składniki do pieczenia są zamiast tego zapisane jako masa jednej miarki, więc 1 cup flour in g daje równe 125 g. Zapisana wartość zachowuje wszystkie cyfry.

Aby wyświetlać inną liczbę miejsc po przecinku, zmień wartość domyślną w Settings — opcje obliczeń przyjmują liczby od 0 do 15. Aby zmienić pojedynczy wiersz, użyj opcji formatowania wyniku w jego menu kontekstowym. Obie metody zmieniają tylko wygląd wyniku.

Aby zaokrąglić samą wartość, wpisz to 2 dp. Późniejsze wiersze użyją wtedy wartości zaokrąglonej. Dokładne połowy są zaokrąglane od zera, więc 2.345 to 2 dp daje 2.35, a round(-2.5) — -3.

calc
exact = 2 / 3 daje 0.6666666667
approx = 2 / 3 to 2 dp daje 0.67
exact * 3 daje 2
approx * 3 daje 2.01

Więcej sposobów opisuje rozdział Zaokrąglanie.

Kwoty pieniężne

Kwoty podlegają regułom swojej waluty zamiast domyślnej zasady dziesięciu miejsc po przecinku:

  • Zaokrąglenie do precyzji waluty. Większość walut pokazuje dwa miejsca po przecinku, jen nie pokazuje żadnego, a dinar kuwejcki — trzy. Wszystkie wymienia katalog walut.
  • Końcowe zera są zachowywane. $15 jest wyświetlane jako $15.00.
  • Małe dodatnie kwoty zachowują cyfry. Kwota poniżej jednego centa, np. $0.004, nie jest zaokrąglana do $0.00.
  • Ceny za jednostkę zachowują do czterech miejsc po przecinku zgodnie z wpisanym zapisem, więc taryfa £0.075/kWh lub cena paliwa £1.499/L pojawia się w całości. Tak samo działają kwoty w pensach lub centach: 6.2p daje £0.062, a 24.5p/kWh — £0.245/kWh. Suma obliczona na ich podstawie jest jednak zaokrąglana do pensa: 148.9p/L * 45 L to £67.01. Przy większej liczbie miejsc cena poniżej £1 pokazuje cztery cyfry znaczące (£0.12345/kWh wyświetla się jako £0.1235/kWh), a inne ceny, np. £8/kg / 3, są zaokrąglane do pensa.
  • Kryptowaluty pokazują do dziesięciu miejsc po przecinku, tak jak zwykłe liczby.

Wiersz przypisujący kwotę do nazwy pokazuje ją tak samo jak każdy inny wiersz. Nazwa zachowuje pełną wartość, więc używające jej późniejsze wiersze pozostają dokładne.

calc
£250 / 3 daje £83.33
bill = £250 / 3 daje £83.33
bill * 3 daje £250.00
¥1,250 / 4 daje ¥313
£0.075/kWh daje £0.075/kWh
£8/kg / 3 daje £2.67/kg

Opcje walut w Settings pozwalają wyłączyć zaokrąglanie do precyzji waluty, wyświetlać kody zamiast symboli (15.00 USD zamiast $15.00) lub pomijać końcowe zera ($15 zamiast $15.00).

Duże i małe liczby

Od 100 000 zwykłe liczby są skracane literą: k oznacza tysiąc, M milion, G miliard (tysiąc milionów), T bilion, a P biliard. Bardzo duże i bardzo małe liczby przechodzą na zapis naukowy.

Kwoty poniżej miliona są wyświetlane w całości, z dokładnością do najmniejszej jednostki waluty, aby skrót nie ukrywał części zapłaty lub zarobku: £199,999.98 pozostaje £199,999.98. Od miliona kwoty też są skracane — z literą B tam, gdzie zwykłe liczby używają G, i najwyżej trzema miejscami po przecinku.

Wielkość Liczba bez jednostki Kwota pieniężna
poniżej 100 000 99,999 $99,999.99
od 100 000 250k, 123.456k $150,000.00
od 1 000 000 1.5M, 1.234567M $2.5M
od 10⁹ 8.1G, 1.23456789G $1.235B
od 10¹² 2T $2T
od 10¹⁵ 100P $100P
powyżej 10¹⁷ 1e18, 6.02e23 $1e18
poniżej 0,000001, z wyjątkiem zera 1e-7, 5e-11
calc
250000 daje 250k
£99,999.99 * 2 daje £199,999.98
$1234567.89 daje $1.235M
8,100,000,000 daje 8.1G
$1,234,567,890 daje $1.235B
0.0000001 daje 1e-7

Litera zmienia tylko wyświetlanie. 1.5 million jest zapisywane jako 1 500 000, a wyświetlane jako 1.5M; 3bn wyświetla się jako 3G. Poniżej 100 000 wyniki używają separatorów tysięcy (99,999).

Liczba z jednostką jest zawsze wypisywana w całości, ponieważ litera obok jednostki wyglądałaby jak przedrostek: 175,200 Wh mogłoby zostać odczytane jako kilowatogodziny. Dopiero wartości powyżej 10¹⁷ lub poniżej 0,000001 przechodzą na zapis naukowy.

calc
175200 Wh daje 175,200 Wh
1 light year in km daje 9,460,730,472,580.8 km

W Settings możesz wyłączyć skróty, aby wypisywać liczby w całości, albo wyłączyć separatory tysięcy.

Rodzaje wyników

Każdy rodzaj wartości ma własny format. Tabela pokazuje po jednym lub dwa przykłady każdego z nich.

Rodzaj Wpisujesz Wynik
Liczba 1,000 + 10 1,010
Kwota pieniężna $100 + 15%, 50 CHF $115.00, CHF 50.00
Wielkość z jednostką 65 kg in lb, 12 kg / 4 m² 143.3004704202 lb, 3 kg/m²
Wielkość w dwóch jednostkach 180 cm in feet and inches 5 feet 10.87 inches
Liczba pikseli 420 mm in px at 300 dpi 4,961 px
Zakres 2-3 kg, 5-10% of £200 2 - 3 kg, £10.00 - £20.00
Procent 15 / 60 as % 25%
Mnożnik £60 / £40 as x 1.5x
Ułamek 0.75 as fraction, 22/7 as fraction ¾, 3 1/7
Notacja naukowa 12345.6789 in sci 1.23456789e4
Szesnastkowo, binarnie, ósemkowo 255 in hex, 255 in binary, 255 in octal 0xFF, 0b11111111, 0o377
Prawda lub fałsz £45 > £40 true
Data March 12 2024 + 3 days March 15, 2024
Godzina 12:30 PM, 1:00:30 12:30 PM, 01:00:30
Czas trwania 9:30 to noon, 30 min - 2 hours 2 hours 30 min, -(1 hour 30 min)
Zakres dat Q1 2025 Jan 1 – Mar 31, 2025
Kod czasowy 48 frames @ 24 fps 00:00:02:00
Czas okrążenia 1:23:45.67 01:23:45.67
Tempo 5 km in 26:45 05:21/km
Stopnie, minuty, sekundy 45.5 degrees as DMS 45° 30′ 0″
Godziny, minuty, sekundy 1.5 hours as HMS 1h 30m 0s
Wysokość dźwięku 440 Hz to pitch A4
Lista [1, 2+3, 4*2] [1, 5, 8]
Macierz identity(2) [[1, 0], [0, 1]]
Liczba zespolona 3 * (2 + 3i), conj(-1 + i) 6 + 9i, -1 - i
Tekst weekday on March 12 2024, differentiate(x^3, x) Tuesday, (3*(x^(3-1)))

Niektóre jednostki mają własne zasady. Miarki cups i pinty przyjmują liczbę mnogą, więc widzisz 2.5 cups i 2 pints. Wynik z dwiema jednostkami pokazuje mniejszą część z dwoma miejscami po przecinku, np. 5 feet 10.87 inches, natomiast czasy trwania oraz masy w kamieniach i funtach zaokrąglają mniejszą jednostkę do liczby całkowitej. Liczby pikseli mają separatory tysięcy i spację przed px.

calc
500 g sugar in cups daje 2.5 cups
82 kg in stones and pounds daje 12 st 13 lb
89.9 min in hours and minutes daje 1 hour 30 min
6000 px * 4000 px daje 24,000,000 px

Niektóre formaty zależą od dzisiejszej daty. Data z bieżącego roku pomija rok, a daty bliskie dzisiejszej mogą być wyświetlane jako określenia względne:

calcWyniki zależą od dzisiejszej daty lub aktualnych danych
March 12 daje March 12
tomorrow at 1am daje Tomorrow at 1:00 AM

Warto znać jeszcze dwa rodzaje odpowiedzi:

  • Brak wyniku i brak błędu oznacza, że wiersz nie ma nic do pokazania: jest komentarzem, pustym wierszem, definicją funkcji lub niedokończonym zapisem takim jak total =.
  • pending… oznacza, że wiersz potrzebuje danych, które nie są jeszcze dostępne.

Dokładność wyników

Arytmetyka dokładna

Liczby całkowite, dziesiętne i ułamki są zapisywane dokładnie. Dodawanie, odejmowanie, mnożenie, dzielenie i potęgowanie z całkowitym wykładnikiem zachowują dokładność, również dla ułamków takich jak ⅓, które nie mają skończonego rozwinięcia dziesiętnego. Porównania za pomocą == sprawdzają dokładne wartości, bez zaokrąglania.

calc
0.1 + 0.2 == 0.3 daje true
1/3 + 1/3 + 1/3 == 1 daje true

Pierwiastki kwadratowe są dokładne, gdy można je zapisać dokładnie; w przeciwnym razie mają dokładność do 38 cyfr znaczących (dalsze cyfry są odcinane, nie zaokrąglane). Odchylenie standardowe używa tego samego pierwiastka. gcd i lcm są dokładne, nigdy ujemne i działają na ułamkach bez wcześniejszego zaokrąglania.

calc
sqrt(2.25) daje 1.5
sqrt(1e-64) daje 1e-32
gcd(12, 18) daje 6

Wyniki przybliżone

Niektórych działań nie da się wykonać dokładnie, dlatego używają binarnej arytmetyki zmiennoprzecinkowej o ograniczonej liczbie cyfr dokładności:

  • trygonometria, logarytmy i funkcje wykładnicze
  • potęgi o wykładnikach niecałkowitych, np. 2^0.5, oraz literały w zapisie naukowym z wykładnikiem ułamkowym, np. 1e2.5
  • niektóre przeliczenia jednostek
  • rozwiązywanie równań, pochodne numeryczne i całki
  • rozkłady macierzy i wartości własne
  • funkcje liczb zespolonych wykraczające poza podstawową arytmetykę

Ponieważ == porównuje dokładne wartości, dwa przybliżone wyniki mogą wyglądać identycznie, a mimo to nie być równe. Zamiast tego porównaj ich różnicę z małą tolerancją:

calc
sqrt(2)^2 daje 2
sqrt(2)^2 == 2 daje false
abs(sqrt(2)^2 - 2) < 0.000000001 daje true

Dobierz tolerancję do wielkości liczb. Dziesięć miejsc po przecinku na ekranie nie gwarantuje dziesięciu poprawnych miejsc, zwłaszcza w trudnych problemach numerycznych.

W listach, macierzach i liczbach zespolonych część będąca jedynie błędem zaokrąglenia zmiennoprzecinkowego, znacznie mniejsza od otaczających ją wartości, jest pokazywana jako 0. Dzięki temu wyniki takie jak rozkład macierzy lub exp(i * pi) pozostają czytelne. Zapisana wartość zachowuje cyfry, więc obowiązuje ta sama zasada sprawdzania z tolerancją:

calc
exp(i * pi) daje -1
abs(exp(i * pi) + 1) < 0.000000001 daje true

Rozmiar liczby

  • Liczby dziesiętne są zapisywane jako liczba całkowita do 2¹²⁸−1 (około 38 cyfr) pomnożona przez potęgę dziesięciu od 10⁻¹²⁸ do 10¹²⁷. Liczby większe niż 1e127 nadal działają, o ile mieszczą się ich cyfry.
  • Ułamki mogą mieć licznik i mianownik o długości do 4096 bitów każdy.
  • Dodanie maleńkiej liczby do ogromnej może spowodować utratę małej części: 1e30 + 0.001 pokazuje 1e30.
  • Wyjście poza zakres podczas mnożenia lub potęgowania daje Error: ∞, zarówno gdy wynik jest zbyt duży, jak i zbyt mały. Obliczenie nigdy nie zawija wartości do błędnej liczby.
calc
1e30 + 0.001 daje 1e30
1e100 * 1e100 daje Error: ∞

Limity

Każdy wiersz musi mieścić się w tych limitach. Osiągnięcie jednego z nich powoduje błąd tylko w danym wierszu, zwykle Error: calculation limit; reszta notatki działa dalej. Częściowa suma ani niedokończone obliczenie nigdy nie są przedstawiane jako wynik. Aby usunąć błąd, zmniejsz zakres, macierz, głębokość zagnieżdżenia lub rozmiar problemu.

Element Limit
Jeden wiersz 64 KiB tekstu lub 4096 liczb, słów i symboli
Lista lub range 1024 elementy
Macierz Od 1 do 32 wierszy i kolumn; wszystkie wiersze tej samej długości
Zagnieżdżone listy i wywołania funkcji wbudowanych 16 poziomów
sum lub product w zadanym zakresie 10 000 składników
Zaawansowana matematyka 100 000 kroków współdzielonych przez operacje zagnieżdżone, więc takie obliczenia szybciej osiągają limit
Własne funkcje 32 parametry; maksymalnie 16 poziomów wywołań funkcji, łącznie 16 384 wywołania i wiersze treści funkcji
Ułamki 4096 bitów w liczniku lub mianowniku
Pochodna symboliczna 8192 znaki wyniku
solve 128 iteracji
integrate 2048 udokładnień, 20 poziomów podziału

Varlig Calc nie obsługuje obecnie ogólnej algebry symbolicznej, całek nieoznaczonych, układów równań nieliniowych, historycznych cen kryptowalut, zapisu rzutów kośćmi takiego jak 2d6, działań na wartościach z niepewnością takich jak 10 ± 0.5 ani łańcuchów porównań takich jak 1 < x < 5. Więcej o zaawansowanych obliczeniach znajdziesz w rozdziale Zaawansowana matematyka.

Przykład całościowy

Oto budżet podróży wykorzystujący większość zasad z tej strony:

calc
flights = £1,284.60 daje £1,284.60
hotel = £96.50 * 4 daje £386.00
total = flights + hotel daje £1,670.60
each = total / 3 daje £556.87
each * 3 daje £1,670.60
each / total as % daje 33.3333333333%
each / total as fraction daje ⅓
total to 0 dp daje £1,671.00
total * 1000 daje £1.671M
  • each = total / 3 pokazuje udział zaokrąglony do pensów, ale nazwa zachowuje pełną wartość.
  • each * 3 używa pełnej wartości, więc daje dokładnie £1670,60, a nie £1670,61.
  • Wartość procentowa nie jest kwotą pieniężną, więc pokazuje dziesięć miejsc po przecinku. Jako ułamek jest dokładna.
  • to 0 dp zaokrągla samą wartość, a końcowe zera pozostają, ponieważ wynik jest kwotą pieniężną.
  • Pomnożenie przez 1000 przekracza 1 000 000, więc wynik zostaje skrócony do £1.671M.