Red de conocimientos sobre prescripción popular - Recetas de medicina tradicional china - ¿Por qué el factorial de un número entero se convierte en un número negativo? Por ejemplo, escriba un programa que ingrese n y genere n factorial. ¿Cuando n > 20 genera un número negativo?
¿Por qué el factorial de un número entero se convierte en un número negativo? Por ejemplo, escriba un programa que ingrese n y genere n factorial. ¿Cuando n > 20 genera un número negativo?
El espacio de almacenamiento de números enteros es de 2 bytes, 16 bits binarios. El rango de valores es de -2 elevado a la 15ª potencia a 2 elevado a la 15ª potencia (32767) El factorial de 20 es igual a 2,43*10 elevado a la 18ª potencia, que es aproximadamente igual a 2 elevado a la 18ª potencia y supera el límite superior. . En este momento, puede usar un byte entero largo que ocupe 4 bytes, agregar L después del número entero y el rango se puede expandir a más o menos 2 potencias de 31. En cuanto al tipo de coma flotante, todavía no lo entiendo, pero lo aprendí rápidamente. También estoy aprendiendo el lenguaje C. Si tiene alguna pregunta, mire el tutorial de lenguaje C y aprenda el video tutorial mientras lo usa. Si es necesario, se lo enviaré a Silly Pig. Definitivamente más serio que una respuesta satisfactoria. Es una entrada puramente manual sin copiar ni pegar, por lo que el formato de potencia no está representado. ¡Por favor, perdóname! ?
Cerdo tonto, el número de mis ayudantes es bastante alto y la lista ha sido prohibida permanentemente. . .