<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_bc</id>
		<title>32v 1m bc - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://gunkies.org/index.php?action=history&amp;feed=atom&amp;title=32v_1m_bc"/>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_bc&amp;action=history"/>
		<updated>2026-05-16T13:32:35Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.30.1</generator>

	<entry>
		<id>https://gunkies.org/w/index.php?title=32v_1m_bc&amp;diff=6930&amp;oldid=prev</id>
		<title>Neozeed: New page: BC(1)               UNIX Programmer's Manual                BC(1)    == NAME ==      bc - arbitrary-precision arithmetic language  == SYNOPSIS ==      bc [ -c ] [ -l ] [ file ... ]  == DES...</title>
		<link rel="alternate" type="text/html" href="https://gunkies.org/w/index.php?title=32v_1m_bc&amp;diff=6930&amp;oldid=prev"/>
				<updated>2009-10-26T12:46:11Z</updated>
		
		<summary type="html">&lt;p&gt;New page: BC(1)               UNIX Programmer&amp;#039;s Manual                BC(1)    == NAME ==      bc - arbitrary-precision arithmetic language  == SYNOPSIS ==      bc [ -c ] [ -l ] [ file ... ]  == DES...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;BC(1)               UNIX Programmer's Manual                BC(1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== NAME ==&lt;br /&gt;
     bc - arbitrary-precision arithmetic language&lt;br /&gt;
&lt;br /&gt;
== SYNOPSIS ==&lt;br /&gt;
     bc [ -c ] [ -l ] [ file ... ]&lt;br /&gt;
&lt;br /&gt;
== DESCRIPTION ==&lt;br /&gt;
     _B_c is an interactive processor for a language which resem-&lt;br /&gt;
     bles C but provides unlimited precision arithmetic.  It&lt;br /&gt;
     takes input from any files given, then reads the standard&lt;br /&gt;
     input.  The -l argument stands for the name of an arbitrary&lt;br /&gt;
     precision math library.  The syntax for _b_c programs is as&lt;br /&gt;
     follows; L means letter a-z, E means expression, S means&lt;br /&gt;
     statement.&lt;br /&gt;
&lt;br /&gt;
     Comments&lt;br /&gt;
           are enclosed in /* and */.&lt;br /&gt;
&lt;br /&gt;
     Names&lt;br /&gt;
           simple variables: L&lt;br /&gt;
           array elements: L [ E ]&lt;br /&gt;
           The words `ibase', `obase', and `scale'&lt;br /&gt;
&lt;br /&gt;
     Other operands&lt;br /&gt;
           arbitrarily long numbers with optional sign and&lt;br /&gt;
           decimal point.&lt;br /&gt;
           ( E )&lt;br /&gt;
           sqrt ( E )&lt;br /&gt;
           length ( E )   number of significant decimal digits&lt;br /&gt;
           scale ( E )    number of digits right of decimal point&lt;br /&gt;
           L ( E , ... , E )&lt;br /&gt;
&lt;br /&gt;
     Operators&lt;br /&gt;
           +  -  *  /  %  ^ (% is remainder; ^ is power)&lt;br /&gt;
           ++   --         (prefix and postfix; apply to names)&lt;br /&gt;
           ==  &amp;lt;=  &amp;gt;=  !=  &amp;lt;  &amp;gt;&lt;br /&gt;
           =  =+  =-  =*  =/  =%  =^&lt;br /&gt;
&lt;br /&gt;
     Statements&lt;br /&gt;
           E&lt;br /&gt;
           { S ; ... ; S }&lt;br /&gt;
           if ( E ) S&lt;br /&gt;
           while ( E ) S&lt;br /&gt;
           for ( E ; E ; E ) S&lt;br /&gt;
           null statement&lt;br /&gt;
           break&lt;br /&gt;
           quit&lt;br /&gt;
&lt;br /&gt;
     Function definitions&lt;br /&gt;
           define L ( L ,..., L ) {&lt;br /&gt;
                auto L, ... , L&lt;br /&gt;
                S; ... S&lt;br /&gt;
                return ( E )&lt;br /&gt;
           }&lt;br /&gt;
&lt;br /&gt;
     Functions in -l math library&lt;br /&gt;
           s(x) sine&lt;br /&gt;
           c(x) cosine&lt;br /&gt;
           e(x) exponential&lt;br /&gt;
           l(x) log&lt;br /&gt;
           a(x) arctangent&lt;br /&gt;
           j(n,x)    Bessel function&lt;br /&gt;
&lt;br /&gt;
     All function arguments are passed by value.&lt;br /&gt;
&lt;br /&gt;
     The value of a statement that is an expression is printed&lt;br /&gt;
     unless the main operator is an assignment.  Either semi-&lt;br /&gt;
     colons or newlines may separate statements.  Assignment to&lt;br /&gt;
     _s_c_a_l_e influences the number of digits to be retained on&lt;br /&gt;
     arithmetic operations in the manner of _d_c(1).  Assignments&lt;br /&gt;
     to _i_b_a_s_e or _o_b_a_s_e set the input and output number radix&lt;br /&gt;
     respectively.&lt;br /&gt;
&lt;br /&gt;
     The same letter may be used as an array, a function, and a&lt;br /&gt;
     simple variable simultaneously.  All variables are global to&lt;br /&gt;
     the program.  `Auto' variables are pushed down during func-&lt;br /&gt;
     tion calls.  When using arrays as function arguments or&lt;br /&gt;
     defining them as automatic variables empty square brackets&lt;br /&gt;
     must follow the array name.&lt;br /&gt;
&lt;br /&gt;
     For example&lt;br /&gt;
&lt;br /&gt;
     scale = 20&lt;br /&gt;
     define e(x){&lt;br /&gt;
          auto a, b, c, i, s&lt;br /&gt;
          a = 1&lt;br /&gt;
          b = 1&lt;br /&gt;
          s = 1&lt;br /&gt;
          for(i=1; 1==1; i++){&lt;br /&gt;
               a = a*x&lt;br /&gt;
               b = b*i&lt;br /&gt;
               c = a/b&lt;br /&gt;
               if(c == 0) return(s)&lt;br /&gt;
               s = s+c&lt;br /&gt;
          }&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
     defines a function to compute an approximate value of the&lt;br /&gt;
     exponential function and&lt;br /&gt;
&lt;br /&gt;
          for(i=1; i&amp;lt;=10; i++) e(i)&lt;br /&gt;
&lt;br /&gt;
     prints approximate values of the exponential function of the&lt;br /&gt;
     first ten integers.&lt;br /&gt;
&lt;br /&gt;
     _B_c is actually a preprocessor for _d_c(1), which it invokes&lt;br /&gt;
     automatically, unless the -c (compile only) option is&lt;br /&gt;
     present.  In this case the _d_c input is sent to the standard&lt;br /&gt;
     output instead.&lt;br /&gt;
&lt;br /&gt;
== FILES ==&lt;br /&gt;
     /usr/lib/lib.b mathematical library&lt;br /&gt;
     dc(1)          desk calculator proper&lt;br /&gt;
&lt;br /&gt;
== SEE ALSO ==&lt;br /&gt;
     [[32v 1m dc|dc(1)]]&lt;br /&gt;
     L. L. Cherry and R. Morris, _B_C - _A_n _a_r_b_i_t_r_a_r_y _p_r_e_c_i_s_i_o_n&lt;br /&gt;
     _d_e_s_k-_c_a_l_c_u_l_a_t_o_r _l_a_n_g_u_a_g_e&lt;br /&gt;
&lt;br /&gt;
== BUGS ==&lt;br /&gt;
     No &amp;amp;&amp;amp;, ||, or ! operators.&lt;br /&gt;
     _F_o_r statement must have all three E's.&lt;br /&gt;
     _Q_u_i_t is interpreted when read, not when executed.&lt;br /&gt;
&lt;br /&gt;
[[Category:32v man section 1]]&lt;/div&gt;</summary>
		<author><name>Neozeed</name></author>	</entry>

	</feed>