30 comments

[ 3.3 ms ] story [ 131 ms ] thread
Finally! I have been waiting for them forever
No announcement on info-gnu or on the bc web page; I only noticed because I was about to download the ancient version to check something.
1.07, actually. Title is wrong.
Gah, sorry. Touch-typing failed me again.
I believe it should also be a 17-year beta test, since 1.06 was released in 2000.
The last beta "release" (which AFAIK everybody has been using) was 1.06.95, in 2006
macOS hasn't been. Which isn't surprising, since 1.06.95 switched to GPLv3 (like most GNU projects).
What changed from 1.06 to 1.07?
The changelog covers 16 years, and is 1500 lines long
The US president 3 times over? (According to the changelog 1.06 is from the year 2000)
Does anyone know why the default scale is 0 (meaning division rounds down by default)?
No idea but initial system setup on every system I touch is to alias bc to 'bc -l'.

I use bc tens of times per day ...

I use bc all the time, yet I still managed to miss that option. Thanks!
Historical compatibility. Back in the day you couldn't always guarantee you even had a coprocessor, so scale > 0 could get arbitrarily expensive.
To commemorate this momentous achievement, they're changing the name to `ad`
In bc 10 / 3 => 3

It yields integer values unless started with -l option. What's up with that?

bc has a scale variable, which determines the precision of calculations. By default it is 0, but running with -l sets it to 20 (among other things).
Here's a handy bc wrapper I picked up somewhere.

    cat /usr/local/bin/solve                                                               
    #!/bin/sh
    bc << EOF
    scale=4
    $@
    quit
    EOF

$ solve "4*49+732"
As someone that has done most my maths using perl during the 90s and lately scheme, I have managed to miss BC completely.

Since some people here seem to use it daily, are there any other reasons to use it than "i am used to it" or that you actually need arbitrary precision?

There are very few console programs which thinks they know better than me what I want when I press Ctrl+C and bc is one of them.