Questions tagged [bc]
Arbitrary-precision arithmetic language.
111
questions
0
votes
1
answer
36
views
Why I can pipe echo into bc, but I can't do the same with printf?
I can pipe echo into bc.
But I cannot do the same with "printf": it gives syntax error.
❯ echo "100-5" | bc
95
❯ printf "%s" "100-5" | bc
(standard_in) 1: ...
0
votes
1
answer
160
views
(standard-in) 1: Syntax error when using bc
I have this command that works correct. However it shows a (standard_in) 1: Syntax error that I don't know how to identify.
participants=0
while IFS=, read -r id name nat sex date height weight sport ...
1
vote
2
answers
73
views
What's the upper-bound for an array index/subscript in GNU bc?
I've found that there is an upper-bound on your subscripts/indices in an array in GNU bc. Running interactively and asking to let arr[100000000]=42 returns an error:
Runtime error (func=(main), adr=...
9
votes
3
answers
3k
views
Linux bc defines PI as 99
I'm using bc in Ubuntu Linux. It has a pre-defined constant PI that's set to 99.
Why does bc define PI to be 99 instead of 3.14159...?
2
votes
0
answers
57
views
bash variable getting some weird hex data from Command substitution calling a script containing a bc calculation
bash --version
GNU bash, version 5.1.16(1)-release (x86_64-apple-darwin21.1.0)
I'm calling a script (dewpoint) which contains a bc calculation that defines dewpoint based on temp(c) and humidity(%). ...
8
votes
1
answer
392
views
Who decided the bc math library will define sine cosine and arctangent?
If you load the bc math library you get the trig functions s() and c() and a() which are sine, cosine, and arctangent respectively. Why these three functions?
I know why it's those three from the ...
0
votes
1
answer
107
views
Rescaling a scaled value using bc command
I am trying to find square root of 12345 and then scale it to 100 decimal places using the command shown below:
val=$(bc <<< "scale=100 ; sqrt ( 12345) " )
But the problem is I ...
0
votes
4
answers
193
views
Floating point comparison in shell
I am comparing the floating point values in shell script based on this reference. Following is the script contents
num1=50.960
num2=6.65E+07
echo "${num1} < ${num2}" | bc
When I ran the ...
0
votes
5
answers
398
views
BC scale rounding error
Trying to truncate the value of a bc calculation, however when I set the scale=0 it returns 0 for the entire calculation. Setting scale=1 returns a proper value of 357.3, but scale=0 will always ...
1
vote
2
answers
1k
views
How to pipe a number into bc elegantly?
Is there a more elegant way than using xargs -Ix for the following?
echo "283" | xargs -Ix bc -l -e "scale=2; l( x )/l(10)"
3
votes
4
answers
2k
views
I keep receiving command not found when I try to run my code in bash
I am trying to write a code that will calculate the radius and area of a circle using pi and the circumference. When I try to run my code, I receive an error message that says
main.sh: line 5: bc: ...
14
votes
2
answers
788
views
Is it possible to save `bc` command line history?
bash has a handy file .bash_history in which it saves the history of commands and on the next execution of bash the history is populated with saved commands.
Is it possible to save bc command history ...
0
votes
1
answer
134
views
How to shorten decimal output in bash?
Right now I am working on an assignment that involves advanced piping, and one of the questions involves calculating a percent and shortening it to 3 decimal places. I've managed to calculate the ...
1
vote
1
answer
2k
views
Set scale for bc inside a variable
I am trying to divide two values in a loop using bc, and I have set that value as a variable. My problem is that I want that value to have 2 decimal places, but I am having trouble getting scale=2 to ...
1
vote
3
answers
1k
views
How to properly use bc to convert the value of percentage to floating point format?
I have 3 variables and values:
totalLines=14
outsideLines=6
multiplied=600
totalLines represents the total number of lines (100%), while outsideLines represents number of lines with the timestamp ...
0
votes
1
answer
144
views
Why does GNU 'bc' have such a long copyright string?
When you run 'bc' on a GNU system, it prints out the following text:
~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free ...
5
votes
4
answers
1k
views
How to get bc to print trailing zeros?
I read topics about how to get bc to print the first zero, but that is not exactly what I want. I want more...
I want a function that returns floating point numbers with eight decimal digits. I am ...
8
votes
1
answer
716
views
bc: does POSIX prohibit standalone use of relational operators?
I want to compare two numbers with bc. Per this highly rated answer on StackOverflow, I can do it in a manner as such:
printf '%s\n' '1.2 > 0.4' | bc
bc sends 1 to STDOUT, indicating that the ...
2
votes
1
answer
218
views
bc - command: not giving appropriate results
I am trying to do simple calculation using bc command in linux. Once i want the value with all the decimal places. other time i want only the integer part
Want to get with full decimal places
$ echo ...
9
votes
10
answers
2k
views
How can I evaluate a math equation, one per line in a file?
I have a file with the following:
37 * 60 + 55.52
34 * 60 + 51.75
36 * 60 + 2.88
36 * 60 + 14.94
36 * 60 + 18.82
36 * 60 + 8.37
37 * 60 + 48.71
36 * 60 + 34.17
37 * 60 + 42.52
37 * 60 + 51.55
35 * 60 ...
0
votes
3
answers
46
views
Discard integer and keep floating point
I'm trying to remove an integer from a decimal value that I currently have.
current syntax:
h=$(echo "scale=2; (($e/$g/$g))" | bc)
echo $h
The following is used to convert seconds to minutes ...
0
votes
2
answers
166
views
converting variables in a shell script from strings to numbers
I have a file laid out like this
gender,yearsExperience,yearsSchool,wage
female,9,13,6.3152956461
female,12,12,5.4797699786
female,11,11,3.6421699174
female,9,14,4.5933365997
female,8,14,2.4181574607
...
1
vote
1
answer
151
views
Raise each element of an array to a power and store output to a new array in bash
I want to raise a fraction (fraction is calculated on first loop) to a decimal power (second loop), however, I always get 1 as a result. I want to store the output of the second loop in an array as ...
4
votes
7
answers
6k
views
bash - sum numbers in a variable
I have a variable set with numbers separated with space, of which first number can also be led by space, example:
VAR=" 2 1 34 3 2 "
I need to sum all these numbers. Easiest way would be ...
3
votes
0
answers
812
views
Error compiling bc: cannot find libreadline.so.8 [closed]
I am following the Linux from Scratch book, Version 8.4 and am stuck on compiling bc (Chapter 6.15).
I have copied and pasted the commands on that page up to the make command, but when I run make, I ...
0
votes
3
answers
926
views
Add two doubles on bash
I'm trying to add two doubles
y1=0.17580197E-01
y2=0.11979236E-02
sum=`echo $y1+$y2 | bc -l`
the above script gives me sum = -2.704405652. How do i resolve this issue?
1
vote
0
answers
27
views
bc command unexpected results [duplicate]
I am trying to compare a decimal and it seems like bc is ignoring it. The OS is CentOS release 6.9 (Final) and bash is bash-4.1.2-48.el6.x86_64, below is the code
#!/bin/sh
i=32.39
IP_LOW_2=32.0
...
0
votes
1
answer
2k
views
How display the output of calculation in decimal point using bc command
I want to do simple coding by storing the output calculation in variable and display the result in decimal point using command bc. But it only works on for minus calculation not for division ...
0
votes
2
answers
2k
views
How to store the output of calculation to variable using bash script [duplicate]
I want to do a simple coding by storing the product of calculation using command bc into variable.
answer="$varnameX % $num1" | bc
echo "the result is $answer"
it did not show the product of ...
-1
votes
1
answer
501
views
Bash Script Wind Chill using getopt and bc
I am now getting the correct output, however it is not scaling to only 3 places. Anyone know how to do that?
function windchill {
to=32
v=10
vel=`echo 'e(l('$v')*0.16)' | bc -l`
w=$(...
0
votes
0
answers
370
views
Convert to Single line output of bc command [duplicate]
echo 'obase=2; 3402823669209384469321375 ' | bc
10110100001001001101110000110101000010010101110011010101100110001011\
01011010011111
I would like to convert the multiple line output into a single ...
1
vote
1
answer
342
views
Calculate difference in negative floating numbers with bc
I want to calculate the difference between two negative floating numbers and subsequently check if the result is below a certain threshold. The numbers are stored in the file.dat, since this ...
2
votes
1
answer
7k
views
(standard_in) 1: syntax error when using bc
I have written an .awk which executes some operation on a .tr file and writes the output to a file. The END section of .awk file prints this:
printf("%15.2f\n%15.5f\n%15.2f\n%15.2f\n%15.2f\n%10.2f\n%...
0
votes
2
answers
1k
views
GNU BC: How is the “modulo” (%) with scale other than 0 useful?
This is a self-answered question, the research that is reasonable to ask for a question goes in the answer part, Please do not downvote because you believe I have not researched enough for an answer. ...
0
votes
3
answers
1k
views
compare two IP address using bc
I am trying to compare two IP address using bc command however the IP with lower numeric value is not being trapped in the test.
Here is my code:
TEST=$(echo "$i < $IP_BRD && $i > $...
0
votes
1
answer
141
views
AIX Does not support bc boolean expression [duplicate]
I ran into an issue where bc does not have boolean expressions in the AIX system. Wondering if there is a replacement command so I don't have make my code any longer? This is in a bash script.
Here ...
23
votes
1
answer
3k
views
bc: Why does `ibase=16; obase=10; FF` returns FF and not 255? [duplicate]
I've been using bc to convert numbers between binary to hex, octal to decimal and others.
In the following example, I was trying to convert base 16 (hex) number to binary, octal and decimal.
I don't ...
2
votes
1
answer
117
views
how to close a while statement in bc script
I cannot find a way to close while statement.The following is my bash script code.
bc << EOF
a=0;
while(a<10) a++;
print a;
EOF
The ouput is not as expected, it prints all the a values ...
0
votes
2
answers
309
views
Syntax error when i use ssh with awk over bc
I basically get the memory usage from two different nodes via ssh and store this in two different variables. I then select the host with lesser memory and return a code 0 or 1.
The array arr contains ...
0
votes
1
answer
2k
views
How to script an an exponential function that decrements the value of the exponent every iteration so that the exponent does not grow?
New to Linux and having problems getting this script to run.
Been working on something to take large numbers and use the remainder (modulus) to store the result ( to save memory ).
Using the bash ...
70
votes
1
answer
8k
views
Why is 'bc' required to build the Linux kernel?
The Linux kernel minimal building requirements specifies that the calculator bc is required to build kernel v4.10, the minimal version of the tool being 1.06.95.
What use is made of bc in this ...
-2
votes
1
answer
5k
views
bash + divide number with round number to up or down [duplicate]
I want to convert 8874M to GIGA
so I did this
echo $(( 8874 / 1024 ))
but actually we get 8 ( while exactly results is 8.6 )
so what need to change in order to get the 8.6?
-3
votes
1
answer
2k
views
linux + how to calculate float numbers with bash [duplicate]
how to calculate float numbers: with bash
example
DRIVER_MEMORY=$(( 5 * 0.6 * 0.9 ))
-bash: 5 * 0.6 * 0.9 : syntax error: invalid arithmetic operator (error token is ".6 * 0.9 ")
remark - ...
0
votes
2
answers
710
views
bash + arithmetic calculation with bash
I need to do the follwing with bash
what is the elegant way ? to get the final $sum value
worker_machine=32
executors_per_node=3
executer=$worker_machine/$executors_per_node-1
spare=$executer X 0....
2
votes
1
answer
287
views
divide two columns, not with each other
I have a CSV file generated by a script of mine, It gets CPU time used per user, however it gets this in seconds, i need it in hours so i need to divide each line by 3600.
example input file
**USER,...
6
votes
6
answers
3k
views
printf, awk ... How to format a number with space to the thousands
Is there a simple way to separate a very large number per thousands with printf, awk, sed ?
So 10000000000000 become 10 000 000 000 000
Thanks
0
votes
1
answer
695
views
Difference in the result of echo and printf
Why do I see a difference in the results for the following code:
read a
printf "%.3f\n" $(bc -l <<< "$a")
RESULT: 17.929
and
read a
echo "scale=3; $a" | bc -l
RESULT: 17.928
My input ...
1
vote
1
answer
892
views
Checking that a decimal number is in a range in bc
I've written this if, that is obviously not working, and I still can't manage to get over it:
#LASTEFFECTIVEHASH
if (( $(echo "$LASTEFFECTIVEHASHMINVAL < $LASTEFFECTIVEHASH < $...
0
votes
2
answers
202
views
What is the numeral for base greater than 16 in bc?
I recently read about bc and found that it supports obase upto 999. Can anyone point me to the numeral set for bc for base greater than 16.
5
votes
2
answers
775
views
How to avoid wrapping in bc output
I have the following example in GNU v. 1.06 (I cannot identify a limit pertaining to line length):
v=$(bc -l <<<"scale=100;4*a(1)"); echo $v
which returns:
3....