Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

4.0;dcalc (desk_calculator), revision 4.0, 82/01/08
DCALC (DESK_CALCULATOR) -- Evaluate logical and arithmetic expressions.
usage:  DCALC [-H] [pathname...]


FORMAT

  DCALC [-H] [pathname...]


  DCALC  mimics  the  features of a desk calculator, evaluating both logical and
  arithmetic expressions.


ARGUMENTS

  pathname
  (optional)         Specify input file containing expressions to be  evaluated,
                     one expression per line.

                     Default if omitted:  read standard input; stop with CTRL/Z


OPTIONS

  If no options are specified, all operations are decimal-based.

  -H                 Specify hexadecimal operations.



  Expressions

  Input  expressions can be simple arithmetic expressions or variable assignment
  expressions.  DCALC writes the value of each evaluated expression on  standard
  output.    Variables hold temporary values, which DCALC does not automatically
  write.

  Expressions may include any  of  the  operators  listed  below  (in  order  of
  precedence):

  1.   +  -          unary plus and negation operators.  These may only appear
                     at the start of an expression or within parentheses.

  2.   << >>         logical left and right shift

  3.   **            exponentiation

  4.   *   /   %     multiply, divide, modulo (remainder)

  5.   +   -         add, subtract

  6.   ==            equal to

       !=            not equal to

       >             greater than

       >=            greater than or equal to

       <             less than

       <=            less than or equal to

  7.   !             unary logical not

  8.   |             logical or

       &             logical and

       ^             logical xor

  Relational  operators  return  the  value  1  for true and 0 for false.  DCALC
  performs operations in double precision floating  point,  except  for  logical
  operators listed as items 2 and 8 above, which use 32-bit integers.



  Variables

  Expressions  may  include  previously  declared variables.  Use this format to
  declare a variable:

       name = expression

     o A variable name must begin with a letter  and  may  consist  of  any
       combination of letters and digits.

     o DCALC  does not automatically print replacement expressions, because
       they usually contain temporary values.




  Radix Control

  You can change the default base for input or output using ibase  (input  base)
  and obase (output base) statements.  For example,

       ibase = 2

       obase = 16

  causes DCALC to interpret input in binary and print results in hexadecimal.

  To  set  an individual number's radix, precede it with the desired radix and a
  pound sign.  For example,

       16#100

  specifies the hexadecimal number 100 (equals 256 in decimal).


EXAMPLES

        Your input:          DCALC output:

    1.  10 + (-64 / 2**4)    6

    2.  temp = 2#101
        temp == 5            1 (true)

    3.  ibase = 16
        obase = 2
        1a + f               101001

    4.  ibase = 16
        numa = 100
        numb = 100
        numa + numb          512

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026