bc man page on UNIXv7

Man page or keyword search:  
man Server   300 pages
apropos Keyword Search (all sections)
Output format
UNIXv7 logo
[printable version]

BC(1)									 BC(1)

NAME
       bc - arbitrary-precision arithmetic language

SYNOPSIS
       bc [ -c ] [ -l ] [ file ... ]

DESCRIPTION
       Bc  is  an  interactive	processor for a language which resembles C but
       provides unlimited precision arithmetic.	 It takes input from any files
       given,  then  reads the standard input.	The -l argument stands for the
       name of an arbitrary precision math library.  The syntax	 for  bc  pro‐
       grams  is  as  follows; L means letter a-z, E means expression, S means
       statement.

       Comments
	     are enclosed in /* and */.

       Names
	     simple variables: L
	     array elements: L [ E ]
	     The words `ibase', `obase', and `scale'

       Other operands
	     arbitrarily long numbers with optional sign and decimal point.
	     ( E )
	     sqrt ( E )
	     length ( E )   number of significant decimal digits
	     scale ( E )    number of digits right of decimal point
	     L ( E , ... , E )

       Operators
	     +	-  *  /	 %  ^ (% is remainder; ^ is power)
	     ++	  --	     (prefix and postfix; apply to names)
	     ==	 <=  >=	 !=  <	>
	     =	=+  =-	=*  =/	=%  =^

       Statements
	     E
	     { S ; ... ; S }
	     if ( E ) S
	     while ( E ) S
	     for ( E ; E ; E ) S
	     null statement
	     break
	     quit

       Function definitions
	     define L ( L ,..., L ) {
		  auto L, ... , L
		  S; ... S
		  return ( E )
	     }

       Functions in -l math library
	     s(x) sine
	     c(x) cosine
	     e(x) exponential
	     l(x) log
	     a(x) arctangent
	     j(n,x)    Bessel function

       All function arguments are passed by value.

       The value of a statement that is an expression is  printed  unless  the
       main operator is an assignment.	Either semicolons or newlines may sep‐
       arate statements.  Assignment to scale influences the number of	digits
       to  be  retained	 on  arithmetic	 operations  in	 the  manner of dc(1).
       Assignments to ibase or obase set the input  and	 output	 number	 radix
       respectively.

       The same letter may be used as an array, a function, and a simple vari‐
       able simultaneously.  All variables are global to the program.	`Auto'
       variables  are pushed down during function calls.  When using arrays as
       function arguments or defining them as automatic variables empty square
       brackets must follow the array name.

       For example

       scale = 20
       define e(x){
	    auto a, b, c, i, s
	    a = 1
	    b = 1
	    s = 1
	    for(i=1; 1==1; i++){
		 a = a*x
		 b = b*i
		 c = a/b
		 if(c == 0) return(s)
		 s = s+c
	    }
       }

       defines	a  function to compute an approximate value of the exponential
       function and

	    for(i=1; i<=10; i++) e(i)

       prints approximate values of the exponential function of the first  ten
       integers.

       Bc  is  actually	 a  preprocessor for dc(1), which it invokes automati‐
       cally, unless the -c (compile only) option is present.	In  this  case
       the dc input is sent to the standard output instead.

FILES
       /usr/lib/lib.b mathematical library
       dc(1)	      desk calculator proper

SEE ALSO
       dc(1)
       L. L. Cherry and R. Morris, BC - An arbitrary precision desk-calculator
       language

BUGS
       No &&, ||, or ! operators.
       For statement must have all three E's.
       Quit is interpreted when read, not when executed.

									 BC(1)
[top]

List of man pages available for UNIXv7

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net