mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
Similar to scientific mode, engineering mode also displays numbers in base 10 exponential notation, with the difference that exponents are always multiples of 3, to facilitate the interpretation in terms of SI prefixes. The mode is activated in config thru "engineering" or "eng. For base and base2, it uses the special value 1000.
108 lines
2.7 KiB
Plaintext
108 lines
2.7 KiB
Plaintext
NAME
|
|
base - set default output base
|
|
|
|
SYNOPSIS
|
|
base([mode])
|
|
|
|
TYPES
|
|
mode real
|
|
|
|
return real
|
|
|
|
DESCRIPTION
|
|
The base function allows one to specify how numbers should be
|
|
printed. The base function provides a numeric shorthand to the
|
|
config("mode") interface. With no args, base() will return the
|
|
current mode. With 1 arg, base(val) will set the mode according to
|
|
the arg and return the previous mode.
|
|
|
|
The following convention is used to declare modes:
|
|
|
|
base equivalent
|
|
config("mode")'s
|
|
|
|
2 "binary" base 2 fractions
|
|
"bin"
|
|
|
|
8 "octal" base 8 fractions
|
|
"oct"
|
|
|
|
10 "real" base 10 floating point
|
|
"float"
|
|
"default"
|
|
|
|
-10 "integer" base 10 integers
|
|
"int"
|
|
|
|
16 "hexadecimal" base 16 fractions
|
|
"hex"
|
|
|
|
1/3 "fraction" base 10 fractions
|
|
"frac"
|
|
|
|
1e20 "scientific" base 10 scientific notation
|
|
"sci"
|
|
"exp"
|
|
|
|
1000 "engineering" base 10 notation with exponent
|
|
"eng" multiple of 3
|
|
|
|
For convenience, any non-integer value is assumed to mean base 10
|
|
fractions and any integer >= 2^64 is assumed to mean base 10
|
|
scientific notation.
|
|
|
|
These base() calls have the same meaning as config("mode", "fraction"):
|
|
|
|
base(1/3) base(0.1415) base(16/37)
|
|
|
|
These base() calls have the same meaning as config("mode", "scientific"):
|
|
|
|
base(1e20) base(2^64) base(2^8191-1)
|
|
|
|
However the base() function will only return one of the base values
|
|
listed in the table above.
|
|
|
|
EXAMPLE
|
|
; base()
|
|
10
|
|
|
|
; base(8)
|
|
012
|
|
|
|
; print 10
|
|
012
|
|
|
|
LIMITS
|
|
none
|
|
|
|
LINK LIBRARY
|
|
int math_setmode(int newmode)
|
|
|
|
NOTE: newmode must be one of MODE_DEFAULT, MODE_FRAC, MODE_INT,
|
|
MODE_REAL, MODE_EXP, MODE_ENG, MODE_HEX, MODE_OCTAL, MODE_BINARY
|
|
|
|
SEE ALSO
|
|
base2, config, str
|
|
|
|
## Copyright (C) 1999 Landon Curt Noll
|
|
##
|
|
## Calc is open software; you can redistribute it and/or modify it under
|
|
## the terms of the version 2.1 of the GNU Lesser General Public License
|
|
## as published by the Free Software Foundation.
|
|
##
|
|
## Calc is distributed in the hope that it will be useful, but WITHOUT
|
|
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
## Public License for more details.
|
|
##
|
|
## A copy of version 2.1 of the GNU Lesser General Public License is
|
|
## distributed with calc under the filename COPYING-LGPL. You should have
|
|
## received a copy with calc; if not, write to Free Software Foundation, Inc.
|
|
## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
##
|
|
## Under source code control: 1994/09/30 00:09:39
|
|
## File existed as early as: 1994
|
|
##
|
|
## chongo <was here> /\oo/\ http://www.isthe.com/chongo/
|
|
## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/
|