Articles of math

Comment append / soustraire correctement à un nombre 128 bits (en tant que deux u_int64_t)

Je travaille en C et dois append et soustraire un nombre de 64 bits et un nombre de 128 bits. Le résultat sera conservé dans le nombre 128 bits. J’utilise un tableau entier pour stocker les moitiés supérieure et inférieure du nombre de 128 bits (c’est-à-dire u_int64_t bigNum[2] , où bigNum[0] est le moins significatif). […]

Algorithme pour effectuer des opérations arithmétiques sur de très grands nombres

J’ai besoin d’un algorithme pour effectuer des opérations arithmétiques sur de grands nombres (qui sont bien au-dessus de la plage de float, double int ou de tout autre type de données). Je suis obligé d’écrire le code en C. J’ai essayé de regarder ici: Knuth, Donald, L’art de la programmation informatique, ISBN 0-201-89684-2, Volume 2: […]

implémentation arithmétique signée et non signée sur x86

Le langage C a des types signés et non signés comme char et int. Je ne suis pas sûr de la manière dont il est mis en œuvre au niveau des assemblages. Par exemple, il me semble que la multiplication des signatures et des non signés donnerait des résultats différents. le cas différent?

Pourquoi la famille de fonctions abs () de stdlib.h renvoie-t-elle une valeur signée?

L’implication négative de ceci est notée dans la page de manuel: NOTES Essayer de prendre la valeur absolue du nombre entier le plus négatif n’est pas défini. Quel est le raisonnement derrière cela et quel est le meilleur recours pour une personne qui souhaite éviter un comportement indéfini? Dois-je avoir recours à quelque chose comme: […]

C – recherche la racine cubique d’un nombre négatif avec fonction pow

Dans le monde réel, il devrait exister une racine cubique pour un nombre négatif: cuberoot(-1)=-1 , cela signifie (-1)*(-1)*(-1)=-1 ou cuberoot(-27)=-3 , cela signifie que (-3)*(-3)*(-3)=-27 Mais quand je calcule la racine cubique d’un nombre négatif en C en utilisant la fonction pow , je reçois nan (pas un nombre) double cuber; cuber=pow((-27.),(1./3.)); printf(“cuber=%f\n”,cuber); sortie: […]

Équation pour l’équation d’onde trapézoïdale

J’écris une fonction ac pour générer une onde trapézoïdale. Est-ce que quelqu’un connaît une équation mathématique pour générer une onde trapézoïdale? Une idée très similaire à y = A * sin (B * x) génère une onde de sinus pour différentes valeurs de x

Algorithme en C pour calculer les coefficients de polynôme en utilisant une interpolation de Lagrange

Cela fait un moment que je suis coincé là-dessus. J’écris un algorithme en C pour extraire les coefficients d’un polynôme en utilisant la méthode d’interpolation de Lagrange. Mon code fonctionne partiellement, par exemple si nous faisons le premier exemple ici http://en.wikipedia.org/wiki/Lagrange_polynomial#Example_1, le code peut imprimer les 2 premiers coefficients (0 et 4.834848) De même avec […]

Comment normaliser un maillage en -1 à 1, puis revenir d’un maillage normalisé à celui d’origine?

J’ai un modèle de maillage au format X, Y, Z. Disons. Points *P; Dans un premier temps, je veux normaliser ce maillage en (-1, -1, -1) en (1, 1, 1). Ici normaliser signifie insérer ce maillage dans une boîte de (-1, -1, -1) à (1, 1, 1). puis, après cela, je traite un maillage normalisé, […]

Moyen rapide de trouver le prochain multiple d’un nombre

Je dois trouver le premier multiple d’un nombre à partir d’un nombre de base. Par exemple: Le premier multiple de 3 à partir de 7 est 9. Ma première tentative a été la suivante: multiple = baseNumber while(multiple%number !=0 ) multiple++ A la fin, “multiple” aura le premier multiple du number après baseNumber . Le […]

Comment vérifier si un point (x, y) est à l’intérieur d’un polygone dans le système de coordonnées cartésien?

Cette question a déjà une réponse ici: Point in Polygon aka hit test Point C # dans un polygone Étant donné un polygone aléatoire formulé avec N équations de ligne dans le système de coordonnées cartésiennes, existe-t-il une formule standard utilisée pour vérifier l’appartenance à un point (x, y)? La solution simple consiste à obtenir […]