@EVAL[expresión[=formato de visualización]]: Evalúa una expresión matemática y devuelve su valor en el formato especificado por desplegar formato o en el formato predeterminado. Interpretación de parámetros a continuación se describe lo que expresión puede contener. Precisión de visualización y formato de salida A continuación se explica el formato del resultado.
La expresión puede contener variables de entorno y otras funciones variables, y puede utilizar cualquiera de los operadores que se enumeran a continuación. @EVAL también admite paréntesis (para controlar el orden de evaluación), comas, hexadecimales y separadores decimales. Los paréntesis se pueden anidar. @EVAL eliminará los ceros iniciales y finales del resultado a menos que utilice los operadores de formato de salida.
@EVAL admite números muy grandes. El tamaño máximo es 2,147,483,647 dígitos en Windows x64. (Windows x86 estará limitado por la memoria a mucho menos). Si desea utilizar más valores decimales que los predeterminados, deberá cambiar su @Eval Precisión opciones de configuración o utilice el formato "=x.y" en @EVAL. Los operadores de solo números enteros (AND, OR y XOR) están limitados a enteros de 64 bits.
Funciones trigonométricas y trascendentales.
Precisión de los cálculos internos.
Precisión de visualización y formato de salida
expresión puede contener variables ambientales e internas, variables de matrizy funciones variables. Después de que se hayan expandido todas las variables y funciones, debe estar compuesto únicamente por cadenas numéricas y nombres de funciones en Funciones trigonométricas y trascendentales. or Otras funciones, conectado por Operadores aritméticos y opcionalmente agrupados entre paréntesis.
@EVAL te permite simplificar expresión dejando caer el % marca de porcentaje delante de los nombres de Variables de entorno. Esto también evita que TCC analizador expanda (posiblemente erróneamente) variables antes de pasarlas a @EVAL. Debes incluir % para variables internas y funciones variables. @EVAL También le permite utilizar caracteres que normalmente tienen un significado especial para TCC e.g., & ^ | sin desactivar su significado especial ni citarlos.
Nota: Para asegurar eso expresión se interpreta correctamente, Espacios deben colocarse a ambos lados de cada operador y los paréntesis deben usarse generosamente. Por ejemplo:
%@eval[(20 %% 3) + 4]
%@eval[12 y 65]
@EVAL acepta números en la sintaxis del exponente de notación científica; es decir, 1575e-2 = 15.75. Puede especificar la salida de notación científica con la sintaxis @eval[...=E]. Por ejemplo:
eco %@eval[1.4567e+4*7.6541e+2=E]
Puede combinar =E con una precisión de visualización (ver más abajo):
echo %@eval[1.4567e+4*7.6541e+2=E1. 20]
Si una cadena comienza con los caracteres 0x se interpreta como un número entero en notación hexadecimal. Si una cadena comienza con los caracteres 0b se interpreta como un número entero en notación binaria. Si una cadena comienza con los caracteres 0o se interpreta como un número entero en notación octal. Cualquier otra cadena numérica se considera un número decimal.
Por ejemplo, mediante los siguientes elementos:
[C:\] eco %@eval[0x10 + 16]
32
Puede especificar salida hexadecimal con la sintaxis especial @eval[...=H]. Por ejemplo:
eco %@eval[3*6=H]
saldrá 12 (maleficio). sin liderazgo 0x está incluido en la salida. Para convertir entre formatos decimal y hexadecimal, consulte la @CONVERTIR función.
Puede especificar salida binaria con la sintaxis especial @eval[...=B]. Por ejemplo:
eco %@eval[3*6=B]
La salida hexadecimal y binaria está limitada a enteros de 64 bits (con signo).
Cada operador acepta parámetros tanto enteros como no enteros, excepto lo que se indica a continuación.
Operadores que aceptan parámetros fraccionarios
+ | (con un parámetro) signo del parámetro numérico (por ejemplo, +3) |
+ | (con dos parámetros) suma |
- | (con un parámetro) negación de parámetro simbólico (p. ej., -n) o signo de parámetro numérico (p. ej., -1, +3) |
- | (con dos parámetros) resta |
* | multiplicación |
/ | división |
** | exponenciación |
! | booleano no |
Operadores que requieren parámetros enteros
\ | división de enteros (devuelve la parte entera del cociente) |
MOD | módulo (devuelve el resto cuando el primer parámetro se divide por el segundo) |
%% | mismo como MOD |
SHL | desplazamiento aritmético hacia la izquierda del primer parámetro, truncado hacia cero a un número entero, por el número de bits especificado por el segundo parámetro |
<< | mismo como SHL |
SHR | desplazamiento aritmético a la derecha del primer parámetro, truncado hacia cero a un número entero, por el número de bits especificado por el segundo parámetro |
>> | mismo como SHR |
> | mayor que |
< | menos que |
>= | Mayor qué o igual a |
<= | Menos que o igual a |
!= | no igual a |
Operadores que truncan parámetros a números enteros
Y | bit a bit y (devuelve 1 para cada posición de bit donde los bits correspondientes en ambos parámetros son 1) |
& | mismo como Y |
OR | bit a bit o (devuelve 1 para cada posición de bit donde el bit correspondiente en al menos un parámetro es 1) |
| | mismo como OR |
GRATIS | exclusivo bit a bit o (devuelve 1 para cada posición de bit donde los bits correspondientes de los dos parámetros son diferentes) |
^ | mismo como GRATIS |
~ | unario NO |
Funciones trigonométricas y trascendentales.
expresión puede incluir las funciones trigonométricas y trascendentales siguientes. El argumento se interpreta en radianes.
log (x) | logaritmo natural |
log2 (x) | logaritmo binario |
log10 (x) | registro 10 |
exp (x) | exponencial |
pecado (x) | seno |
asin (x) | arcoseno |
nacimiento (x) | seno hiperbólico |
cos (x) | coseno |
acos (x) | arcocosina |
cosh (x) | coseno hiperbólico |
bronceado (x) | tangente |
atan (x) | arcangent |
tanh (x) | tangente hiperbólica |
La cuerda especial PI es un atajo para el valor 3.14159265358979323846.
abs (x) valor absoluto
ceil (x) techo
hecho(x) factorial
piso (x) piso
mcd(x y) máximo común divisor (entero máximo de 64 bits)
mcm(x y) mínimo común múltiplo (entero máximo de 64 bits)
ror(xyz) rotar x un Derecho y bits con un tamaño variable de z (en bits) (entero máximo de 64 bits)
rol(xyz) rotar x left y bits con un tamaño variable de z (en bits) (entero máximo de 64 bits)
1. | las variables |
2. | expresiones entre paréntesis coincidentes |
3. | funciones enumeradas en Funciones trigonométricas y trascendentales. |
4. | exponenciación |
5. | multiplicación, división y MOD |
6. | Adición y sustracción |
7. | >, <, Y, O, XOR, NO, SHL y SHR |
Cuando se utilizan varias expresiones consecutivas de un único nivel de precedencia, la evaluación se realiza de izquierda a derecha.
Por ejemplo, 3+4*2 será interpretado como 3 + 8no como * 7 2. Para cambiar este orden de evaluación, utilice paréntesis para especificar el orden que desee.
Precisión de los cálculos internos.
@EVAL admite números de hasta 30,000 dígitos; ¡Es muy poco probable que necesites una precisión mayor que esta! Algunas funciones (gcd, lcm, ror, rol) utilizan enteros de 64 bits.
Precisión de visualización y formato de salida
La precisión máxima de visualización es de 15,000 dígitos a la izquierda del punto decimal y 15,000 dígitos a la derecha. Puede modificar la precisión decimal predeterminada con el OPCIÓN comando, el @EVAL Precisión opciones de configuración y con la SETDOS Comando /F. Puedes cambiar el separador decimal con el carácter decimal opción de configuración o la SETDOS Comando /G.
Puede modificar el formato de visualización de la instancia actual de @EVAL especificando desplegar formato.
Formato de visualización de notación científica
If desplegar formato is E, La salida estará en notación científica. Por ejemplo:
eco %@eval[1.4567e+4*7.6541e+2=E]
Puede combinar =E con una precisión de visualización (ver más abajo):
echo %@eval[1.4567e+4*7.6541e+2=E1.15]
Formato de visualización hexadecimal
If desplegar formato es la letra H, la salida será hexadecimal. Si desplegar formato is X, la salida será hexadecimal con un punto inicial 0x.
Formato de visualización binario
If desplegar formato es la letra B, la salida será binaria.
Formato de visualización octal
If desplegar formato es la letra O, la salida será octal.
Precisión explícita
If desplegar formato is Estaba yendo, entonces:
•i debe ser un número que especifique la precisión decimal mínima (el número mínimo de decimales mostrados);
•a debe ser un número que establezca la precisión decimal máxima.
•el personaje separándose i y a puede ser la coma si es tu separador decimal
Puede especificar uno o ambos parámetros. i y a. If yo > un, o si solo i está especificado, i se utiliza como precisión mínima y máxima, por ejemplo: documentación que demuestre copropiedad de bienes, residencia compartida, recursos económicos combinados, declaraciones juradas de personas que lo conocen y que puedan dar fe de su relación y vida compartida, Decretos o certificados de adopción, Constancia de custodia legal de un niño adoptado durante un período de dos años ambas =2 y = 2.1 son equivalentes a = 2.2.
Si el último carácter del desplegar formato is +, @EVAL antepondrá los números positivos con un +.
expresión |
Valor |
@eval[3/6=2.4] |
0.50 |
@eval[3/6=4.4] |
0.5000 |
@eval[3/7] |
0.4285714286 |
@eval[3/7=.4] |
0.4286 |
@eval[3/7=2.2] |
0.42 |
@eval[3/7=2] |
0.42 |
@eval[3/7=2+] |
+0.42 |