11-30-2009
Quote:
...
I suppose the meaning of scale in bc is the scale to use to carry out the calculation(10 for decimal)
...
No, scale=10 means that the output is formatted with 10 digits after the decimal point.
Excerpt from the manpage of bc:
scale ( expression ) The value of the scale function is the number of digits after the decimal point in the expression.
10 More Discussions You Might Find Interesting
1. Linux
Hello there,
how do i multiply a fraction and a whole number? Example 20% of 50,000.
I had gotten 0.2 using the following:
chk=echo 20 100 | awk `{print $1/$2}`
echo $chk
$chk \* 50000 displays the error: non-numeric expression. (1 Reply)
Discussion started by: alby
1 Replies
2. Shell Programming and Scripting
Suppose i have a file A
1*2*3*4
2*4*4*22
and second file B
2*3*4*5
4*4*6*7
By multiplying file A by file B that is file A by first column in file B respectively
output shud be
2*6*12*20
8*16*24*154
my code is
=$1
next
}
{for (f=1;f<=NF;f++) (2 Replies)
Discussion started by: cdfd123
2 Replies
3. UNIX for Dummies Questions & Answers
Hi,
I am writing a script in Bourne shell
#!/bin/sh
used=`quota -v | tail -1 | awk '{print $2}'`
total=`quota -v | tail -1 | awk '{print $3}'`
echo "$used"
echo "$total"
perc=`expr ${used} / ${total} * 100 | bc`
echo "$perc"
I want to get a percentage of quota used to total limit
I... (5 Replies)
Discussion started by: desai.rishabh
5 Replies
4. UNIX for Dummies Questions & Answers
I need help to produce output as below
1 2 3 4 5
2 4 6 8 10
3 6 9 12 15
4 8 12 16 20
5 10 15 20 25
my script
#!/bin/bash
for (( i = 1; i <= 5; ++i ));
do
echo -n $i
for (( j = 1; j <=5; ++j ));
do
multiply=$(( $i * $j ))
done
echo $multiply (1 Reply)
Discussion started by: killboy
1 Replies
5. Shell Programming and Scripting
Hi there.
I've used Sed to pull out some numbers, can it also be used to perform calculations on these numbers?
For example I have a text file with a list of weights however some of them are presented like 24x18g, I actually need it to multiple the two number and display it as 432g
... (6 Replies)
Discussion started by: mrpugster
6 Replies
6. Programming
Hi all, newbie here.
Does anyone know if it is possible to use GCC or Clang to multiply
two unsigned numbers and have it use for intel instructions, the mull instruction or an imul. I can't figure how to word this to accomplish this task:
(int)(((unsigned long long)result * (unsigned)2290649225)... (4 Replies)
Discussion started by: pheonix
4 Replies
7. Shell Programming and Scripting
Hi,
I can't find out how to create correct code to get multiplication of each elements of array. Let's say I enter array into command line (2 3 4 5 6 8) and i need output 2*3*4*5*6*8=5760.
I tried this one, but answer is 0.
for i in $@; do
mult=$((mult*i))done
echo "mult: " $mult
... (4 Replies)
Discussion started by: rimasbimas
4 Replies
8. UNIX for Dummies Questions & Answers
Hi there! I have two files like below
File1(with a header, ~1000 rows, ~50 columns)
ID1 ID2 ID3 ID4 ID5 MI1_A MI1_H MI2_A MI2_H
0 1 0 0 0 1 0 2 1
0 2 0 0 0 2 1 0 1
File2 (without a header, ~50 rows)
MI1 A 0.4 3.1
MI2 B -0.2 0.1
Output
ID2 M1_A M2_A
1 1*0.4 2*-0.2
2 2*0.4 0*-0.2
... (22 Replies)
Discussion started by: Akang
22 Replies
9. UNIX for Beginners Questions & Answers
I have two files. Row id in File1 matches the column id in file2 (starting from column7 )except the last 2 characters. File1 has 50 rows and File 2 has 56 columns. If the id matches I want to multiply the value in column3 of File1 to the entire column in File2. and in the final output print only... (11 Replies)
Discussion started by: Akang
11 Replies
10. Homework & Coursework Questions
How can I produce this kind of output?
Enter a number: 3
MULTIPLICATION TABLE:
0 1 2 3
1 1 2 3
2 2 4 6
3 3 6 9
When you enter a number, it should show you the corresponding multiplication table. Plus we need to use for loops that I do not actually know. Thanks in advance! Here is my... (2 Replies)
Discussion started by: larkha
2 Replies
bc(1) General Commands Manual bc(1)
NAME
bc - arbitrary-precision arithmetic language
SYNOPSIS
[file...]
DESCRIPTION
is an interactive processor for a language that resembles C but provides unlimited-precision arithmetic. It takes input from any files
given, then reads the standard input.
Options
recognizes the following command-line options:
Compile only.
is actually a preprocessor for which invokes automatically (see dc(1)). Specifying prevents invoking dc, and sends the dc
input to standard output.
causes an arbitrary-precision math library to be predefined.
As a side effect, the scale factor is set.
Program Syntax
L a single letter in the range through
E expression;
S statement;
R relational expression.
Comments
Comments are enclosed in and
Names
Names include:
simple variables: L
array elements: L [ E ]
stacks: L
Other Operands
Other operands include:
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 )
Strings of ASCII characters enclosed in quotes ("").
Arithmetic Operators:
Arithmetic operators yield an E as a result and include:
is remainder (not mod, see below); is power).
(prefix and append; apply to names)
Relational Operators
Relational operators yield an R when used as op
Statements
E
{ S ; ... ; S }
if ( R ) S
while ( R ) S
for ( E ; R ; E ) S
null statement
break
quit
Function Definitions
define L ( L ,..., L ) {
auto L, ... , L
S; ... S
return ( E )
}
Functions in -l Math Library
Functions in the math library include:
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. Trigonometric angles are in radians where 2 pi radians = 360 degrees.
The value of a statement that is an expression is printed unless the main operator is an assignment. No operators are defined for strings,
but the string is printed if it appears in a context where an expression result would be printed. Either semicolons or new-lines can sepa-
rate statements. Assignment to scale influences the number of digits to be retained on arithmetic operations in the manner of dc(1).
Assignments to or set the input and output number radix respectively, again as defined by dc(1).
The same letter can be used simultaneously as an array, a function, and a simple variable. 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 operator yields the remainder at the current scale, not the integer modulus. Thus, at scale 1, is .1 (one tenth), not 1. This is
because (at scale 1) is 2.3 with .1 as the remainder.
EXAMPLES
Define a function to compute an approximate value of the exponential function:
Print approximate values of the exponential function of the first ten integers.
WARNINGS
There are currently no (AND) or (OR) comparisons.
The statement must have all three expressions.
is interpreted when read, not when executed.
parser is not robust in the face of input errors. Some simple expression such as 2+2 helps get it back into phase.
The assignment operators: and are obsolete. Any occurences of these operators cause a syntax error with the exception of which is inter-
preted as followed by a unary minus.
Neither entire arrays nor functions can be passed as function parameters.
FILES
desk calculator executable program
mathematical library
SEE ALSO
bs(1), dc(1).
tutorial in
STANDARDS CONFORMANCE
bc(1)