Home > CBM > BASIC > Keywords > (minus)
180 Subpages: (divide), (equal), (less), (more), (multiply), (plus), (power), Abs, And, Append, Asc, Atn, Auto, Backup, Bank, Begin, Bend, Bload, Boot, Box, Bsave, Bump, Catalog, Char, Chr, Circle, Close, Clr, Cmd, Collect, Collision, Color, Concat, Cont, Copy, Cos, Data, Dclear, Dclose, Dec, Def, Delete, Dim, Directory, Dispose, Dload, Do, Dopen, Draw, Ds, Ds string, Dsave, Dverify, El, Else, End, Envelope, Er, Err, Exit, Exp, Fast, Fetch, Filter, Fn, For, Fre, Get, Get num, Getkey, Go, Gosub, Goto, Graphic, Gshape, Header, Help, Hex, If, Input, Input num, Instr, Int, Joy, Key, Left, Len, Let, List, Load, Locate, Log, Loop, Mid, Monitor, Movspr, New, Next, Not, Off, On, Open, Or, Paint, Peek, Pen, Pi, Play, Pointer, Poke, Pos, Pot, Print, Print num, Pudef, Quit, Rclr, Rdot, Read, Record, Rem, Rename, Renumber, Restore, Resume, Return, Rgr, Right, Rlum, Rnd, Rreg, Rspcolor, Rsppos, Rsprite, Run, Rwindow, Save, Scale, Scnclr, Scratch, Sgn, Sin, Sleep, Slow, Sound, Spc, Sprcolor, Sprdef, Sprite, Sprsav, Sqr, Sshape, St, Stash, Step, Stop, Str, Swap, Sys, Tab, Tan, Tempo, Then, Ti, Ti string, To, Trap, Troff, Tron, Until, Using, Usr, Val, Verify, Vol, Wait, While, Width, Window, Xor

KeywordAbbreviationToken (hex)Version(s)Classification
-noneAB1.0 to 7.0Operator (3, subtraction)
none AB 1.0 to 7.0 Operator (2, negation) 

 Syntax 
minuend subtrahend
 ~ or ~
minuend
 
ParametersTypeLegal Value(s)Default ValueNote(s)
minuendNumeric
any
subtrahendNumericany
 
 
ReturnsTypeValue(s)Note(s)
differenceNumeric
any
Form 1
negationNumericany
Form 2 
 
 Purpose 
Calculate an arithmetic expression.

 
 Remarks 
The minus operator has two simular yet different roles, shown by the two forms of Syntax above.  First it may be used as a subtraction operator to calculate the difference between two numbers (I'm not going to explain how subtraction works).  In this case it has only a medium priority, which is to say, as low as addition (but greater than relational/boolean operators).  Second, the minus operator may be used "alone" to negate an expression (this just reverses the arithmetic sign of minuend).  In this case it has a rather high priorty: the same as multiplication and division, and second only to the power operator.  The user of course may over-ride the built-in operator priorities by using parentheses "(" and ")".
 
If the absolute value of the result is greater than 1.70141183e+38 then an OVERLOW ERROR occurs.  If the absolute value of the result is less than 2.93873588e-39 then it silently underflows to zero (I'm pretty sure this can only happen when the result really should be zero).
 
Like all operators, the result may be printed, stored in an appropriate variable, or combined with other functions and operators in a larger expression.  For storing the numeric result into an integer variable the minimum result that can be stored is -32768 and the maximum is +32767; otherwise an ILLEGAL QUANTITY ERROR is generated.
 
Unlike the plus operator which works with strings too (append operation), the minus operator does not work with strings (no amputate operator).  However BASIC provides at least 3 "string-slicing" functions (see links below).
 
 
 Compare With 
 
 Contrast With 
*, +, ABS
 
 See Also 

© H2Obsession, 2014