Articles of modulo

Puis-je compter sur l’opérateur% (modulo) en C pour les nombres négatifs?

Utiliser GCC: printf(“%i \n”, -1 % (int)4); printf(“%u \n”, -1 % (unsigned int)4); Sortie: -1 3 Puis-je compter sur ce comportement sur toutes les plateformes? Devrais-je définir explicitement les macros MOD et REM pour être sûr que cela ne soit pas modifié?

Un algorithme efficace (en termes de cycles) pour calculer le modulo 25?

J’ai un code dans lequel je calcule x% 25. x prend toujours une valeur positive mais sa plage dynamic est grande. J’ai découvert que cet élément de code particulier ax% 25 prend de grands cycles. J’ai besoin de l’optimiser. La table de recherche pré-calculée est exclue en raison de la taille mémoire possible importante de […]

Comment donner un sens à modulo en c

Je ne comprends pas ce modulo en langue c. Par exemple: #include #include int main() { int my_input[] = {23, 22, 21, 20, 19, 18}; int n, mod; int nbr_items = sizeof(my_input) / sizeof(my_input[0]); for (n = 0; n %d\n”, my_input[n], 4, mod); } } Donne: 23 modulo 4 –> 3 22 modulo 4 –> […]

opération modulo sur les nombres négatifs

Une opération modulo a%b renvoie le rest pour a/b mais pas pour les nombres négatifs. #include int main(void) { int n=-4; printf(“%d\n”,n%3); return 0; } Il doit renvoyer 2 car 3 * (- 2) = – 6 est juste inférieur à -4 et à un multiple de 3 mais la sortie est -1. Pourquoi traite-t-on […]

remquo Résultats ne faisant pas sens

Je lis ici que remquo devrait revenir: En cas de succès, renvoie le rest en virgule flottante de la division x/y tel que défini dans std :: rest, et une valeur dont le signe est le signe de x/y et dont la magnitude est congruante modulo 2 n à la magnitude du quotient intégral. de […]

Modulo renvoie un résultat erroné lors de l’utilisation de négatifs

Je veux calculer: (-15% 3) qui devrait être 0 mais je reçois plutôt 1: Quand je fais explicitement: int IntFcn (const void *key, size_t tableSize) { printf(“%d\n”,(*(int*)key)); // prints -15 printf(“%d\n”,tableSize); // prints 3 printf(“%d\n”,(-15) % 3); // prints 0 } J’obtiens le bon résultat (0) mais lorsque j’essaie d’utiliser les variables ci-dessous, j’obtiens 1: […]

Recherche de pow (a ^ b) modN pour une plage de a

Pour un b et N donnés et une plage de parole (0…n) , J’ai besoin de trouver ans(0…n-1) où, ans[i] = nombre de a’s pour lesquels pow(a, b)modN == i Ce que je recherche ici est une possibilité de répétition dans pow(a,b)modN pour une plage de a , afin de réduire le temps de calcul. […]

Grand nombre factoriel modulo grand nombre premier

Je dois calculer la factorielle d’un grand nombre (<= 1.000.000) et j'ai besoin du résultat modulo 1000000007. J'ai écrit ce qui suit, mais il génère une erreur lors de l'exécution (test.exe a cessé de fonctionner). Cela ne fonctionne que pour les petits nombres. long long unsigned modulo(long long unsigned nr){ return nr % 1000000007; } […]

Éliminer le biais modulo: comment y parvient-il dans la fonction arc4random_uniform ()?

Le biais modulo est un problème qui survient lorsqu’on utilise naïvement l’opération modulo pour obtenir des nombres pseudo-aléatoires inférieurs à une “limite supérieure” donnée. Par conséquent, en tant que programmeur C, j’utilise une version modifiée de la fonction arc4random_uniform() pour générer des nombres pseudo-aléatoires répartis de manière uniforme. Le problème est que je ne comprends […]

Obtenir le chiffre le plus significatif des valeurs dans Objective C

J’ai actuellement un code dans l’objective C capable d’extraire la valeur numérique la plus significative d’un entier. Ma seule question est de savoir s’il existe un meilleur moyen de le faire que ce que j’ai décrit ci-dessous. Cela fait le travail, mais ça ressemble à un bidouillage pas cher. Ce que fait le code, c’est […]