¿Por qué debe prestar atención a veces piensa cuando módulo con resultados negativos no son los mismos

¿Por qué debe prestar atención a veces piensa cuando módulo con resultados negativos no son los mismos

Es bien sabido, durante la ejecución del programa, la situación encontrada divisible, por defecto indivisible es abajo redondeado, es decir, por ejemplo:
100/3 = 333333333 ... ...: no es divisible
divisible: = 3 // 100 3 // que dirigirá todos los dígitos después del punto decimal para borrar el fin de lograr redondeo

proceso Análisis De nuevo módulo, el módulo es un ordenadores importantes que operan% símbolo
medios A% B es que A se retira para el resto de B;
dentro de la computadora de entender de módulo símbolos puede ser visto como sigue:
A - ( a // B) * B => a% b tal vez es completamente equivalente

Así que buscamos el módulo negativa:
Aquí Insertar imagen Descripción
no es igual que imaginó ¿Por qué es -2 en vez de 1
si es 1, entonces Acuerdo debe ser -33 * -3 = 99
y luego 100 a -99 = 1
es 100 ➗ -3 = - más de 331

Pero entonces calculado en el proceso de implementación es el siguiente:
100 - (100 // --3) -3
Primera 100 / -3 = -33.3333 ......
100 // = -3-34 porque dice el redondeo de la computadora son los mecanismos de abajo redondeados
porque obviamente -34 -34 -33 y en menor medida en comparación con 100 @ -3 = -34
y luego se devuelve a la fórmula:
100 - (- 34)
-3 = -2

Así que un 100% -3 = -2

Publicado 27 artículos originales · ganado elogios 62 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_42359956/article/details/87297908
Recomendado
Clasificación