Actualmente estoy estudiando programación en java y me choca un poco el concepto de división de enteros. Supongo que es cuestión de acostumbrarse a ello $1/2=0$ pero me temo que puede llevar algún tiempo, dado que esta propiedad del operador de división (/) es inconsistente con las matemáticas.
¿O no? La lectura de la sección de Wikipedia sobre la división de enteros parece dar a entender que es un concepto ambiguo (ver el siguiente enlace ). La afirmación de que el conjunto de los enteros no es cerrado bajo la división (es decir, la división de enteros podría producir elementos que no son enteros) tiene sentido para mí, al igual que la opción 2 de la siguiente lista. Sin embargo, la lista me desconcierta. Su existencia implica que tenemos una opción en el asunto, y que una de ellas (la opción 4) permite llamar " $1/2=0$ " una afirmación verdadera.
Entonces, ¿el significado de la división de enteros es realmente una cuestión de gustos? ¿Puede " $1/2=0$ "¿es una afirmación verdadera, incluso en un sentido estrictamente matemático, dependiendo de cómo se interprete?
0 votos
Tal vez quiera echar un vistazo a este .
3 votos
Definitivamente es una versión diferente de la división a la que estás acostumbrado. Piensa en ella como la primera división que aprendiste en la escuela primaria, en la que, al hacer la división, obtienes un resultado y un "resto". En realidad, también existe un operador de "resto" en la mayoría de los lenguajes de programación, normalmente el carácter "%".
1 votos
Una de las razones para realizar la división de enteros de esta manera en los lenguajes de programación es que las operaciones de enteros son mucho más rápidas que las de coma flotante. Básicamente, el lenguaje de programación le exige que convierta explícitamente sus tipos enteros en flotantes si quiere hacer aritmética de punto flotante.
1 votos
El símbolo significa cosas diferentes en distintos entornos. Dentro de las matemáticas, si trabajas en los enteros, 1/2 es indefinido. Si trabajas en los racionales, es 0,5. En los lenguajes informáticos, originalmente las variables enteras eran el rey, pero si quisieras definir 1/2, así sería. Python pasó de dividir enteros a dividir verdaderos al pasar de la versión 2 a la 3. En todos los casos está bien definido: dada una entrada sólo hay una salida.
0 votos
@RossMillikan, yo diría que si estás trabajando en los racionales, es $\frac 1 2$ :) El uso de la noción decimal sería confuso si luego miramos $1/3$ .
0 votos
@ThomasAndrews: Sí, pero quería algo diferente de 1/2 y 0. Tienes razón.
0 votos
He eliminado la etiqueta programación de enteros. La confusión es comprensible, pero resulta que integer-programming se refiere a algo muy diferente.