bc man page on Ultrix

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

bc(1)									 bc(1)

       bc - interactive arithmetic language processor

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

       The  command  provides  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	 programs  is  as follows: L means letter a-z, E means
       expression, S means statement.

	     are enclosed in /* and */.

	     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 )

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

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

       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 new lines may
       separate statements.  Assignment to scale influences the number of dig‐
       its  to	be  retained on arithmetic operations in the manner of Assign‐
       ments to ibase or obase set the input and output number	radix  respec‐

       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.

       The  following  example	defines	 a  function to compute an approximate
       value of the exponential function:
       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

       The following command line then prints approximate values of the	 expo‐
       nential function of the first ten integers:
	    for(i=1; i<=10; i++) e(i)

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

       -c		   Compiles input only.

       -l		   Names arbitrary precision math library.

       The for statement must have all three E's.

       Quit is interpreted when read, not when executed.

       Variables  must	be a single lower case letter.	Upper case letters are
       used only as digits for bases greater than 10.

       mathematical library

See Also
       ``BC - An arbitrary precision desk-calculator language'' ULTRIX Supple‐
       mentary Documents Vol. 1: General User


List of man pages available for Ultrix

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]
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