Esta pregunta y en particular la respuesta aceptada pueden ser interesantes para usted.
Emanuel Berg
Respuestas:
56
bcno hace coma flotante pero sí números decimales de precisión fijos. La -lbandera que menciona Hauke carga una biblioteca matemática, por ejemplo. funciones trigonométricas pero también significa
[...] la escala predeterminada es 20
scalees una de una serie de "variables especiales" mencionadas en la página del manual. Puedes configurarlo:
scale=4
En cualquier momento que desee (ya sea que -lse haya utilizado o no). Se refiere al número de dígitos significativos utilizados en un decimal . En otras palabras, las soluciones posteriores se redondearán a ese número de dígitos después de la escala decimal (== precisión fija).
La escala predeterminada sin sans -les 0, lo que significa redondeado a números enteros.
1) Los números en bc tienen una escala. La escala de un número no debe confundirse con el factor de escala. La misma 'escala' mundial se usa como una función para consultar la escala de un número o como un parámetro para establecer el factor de escala.
echo "scale=scale(1.1);11/10" | bc will return 1.1
2) El factor de escala determina cuántos dígitos se mantienen a la derecha del punto decimal cuando se realizan operaciones. Si s es el factor de escala actual, sa es la escala del primer operando a, sb es la escala del segundo operando b, los resultados se truncan de la siguiente manera:
scale of result
a+b max(sa,sb)
a-b max(sa,sb)
a*b min(sa+sb , max(s,sa,sb))
a/b s
a%b so that a = b*quotient + remainder; remainder has sign of a
a^b min(sa×|b|, max(s,sa)); b must be integer
sqrt(a) max(s,sa)
3) En el origen, bc era un preprocesador de dc. Ahora, en muchos sistemas, bc es un programa independiente.
echo "scale=4; 1/8" | bc
Respuestas:
bc
no hace coma flotante pero sí números decimales de precisión fijos. La-l
bandera que menciona Hauke carga una biblioteca matemática, por ejemplo. funciones trigonométricas pero también significascale
es una de una serie de "variables especiales" mencionadas en la página del manual. Puedes configurarlo:En cualquier momento que desee (ya sea que
-l
se haya utilizado o no). Se refiere al número de dígitos significativos utilizados en un decimal . En otras palabras, las soluciones posteriores se redondearán a ese número de dígitos después de la escala decimal (== precisión fija).La escala predeterminada sin sans
-l
es 0, lo que significa redondeado a números enteros.fuente
La página man dice:
La comprensión de eso podría mejorarse, de hecho ...
fuente
1) Los números en bc tienen una escala. La escala de un número no debe confundirse con el factor de escala. La misma 'escala' mundial se usa como una función para consultar la escala de un número o como un parámetro para establecer el factor de escala.
2) El factor de escala determina cuántos dígitos se mantienen a la derecha del punto decimal cuando se realizan operaciones. Si s es el factor de escala actual, sa es la escala del primer operando a, sb es la escala del segundo operando b, los resultados se truncan de la siguiente manera:
3) En el origen, bc era un preprocesador de dc. Ahora, en muchos sistemas, bc es un programa independiente.
Fuente: [ https://plan9.io/magic/man2html/1/dc]
fuente