Articles of signé

C: L’opérateur de module sur unsigned int donne une sortie inattendue

#include main() { unsigned a = -20; unsigned b = 10; printf(“%d\n”, (a % b)); printf(“%d\n”, (-20 % 10)); } Output: 6 0 La seconde printf imprime la valeur attendue de 0 tandis que la première printf en imprime 6. Pourquoi cette sortie inattendue avec des enties non signées?

Détermination par programme de la valeur maximale d’un type entier signé

Cette question connexe concerne la détermination de la valeur maximale d’un type signé au moment de la compilation: Question C: off_t (et autres types entiers signés) valeurs minimale et maximale Cependant, j’ai depuis compris que déterminer la valeur maximale d’un type signé (par exemple, time_t ou off_t ) au moment de l’ exécution semblait être […]

Équivalent signé d’une valeur hexadécimale complémentaire de 2

Sur le terminal python quand je fais: – In [6]: 0xffffff85 Out[6]: 4294967173 In [9]: “%d” %(0xffffff85) Out[9]: ‘4294967173’ Je voudrais pouvoir donner dans 0xffffff85 et obtenir le nombre décimal équivalent signé en python (dans ce cas -123 ). Comment pourrais-je faire ça? En C, je pourrais le faire comme: – int main() { int […]

Convertir un complément de deux bits bruts de 14 bits en un entier de 16 bits signé

Je travaille un peu en C embarqué avec un accéléromètre qui renvoie les données sous forme de nombre de complément à 14 bits 2. Je stocke ce résultat directement dans un uint16_t . Plus tard dans mon code, j’essaie de convertir cette forme “brute” de données en un entier signé pour représenter / utiliser le […]

Opérations de structure en Javascript via Emscripten

Je rencontre pas mal de problèmes d’interaction entre emscripten et C et C Plus précisément, je ne parviens pas à accéder à une structure créée en C en javascript, étant donné que le pointeur sur la structure est passé à javascript en tant que bibliothèque externe . Regardez le code suivant: C: #include #include #include […]

Pourquoi les variables de boucle doivent-elles être signées en parallèle pour?

J’apprends tout simplement OpenMP à partir de didacticiels et de ressources en ligne. Je veux quadriller une masortingce (la multiplier par elle-même) en utilisant une boucle parallel for . Dans la documentation du compilateur IBM , j’ai trouvé l’exigence selon laquelle “la variable d’itération doit être un entier signed “. Est-ce également vrai dans la […]

La variable de structure n’a pas changé par assignation

struct st { int a1 : 3; int a2 : 2; int a3 : 1; } void main(void) { x.a3 = -1; if (x.a3 == -1) printf(“TRUE\n”); else printf(“FALSE\n”); x.a3 = 1; if (x.a3 == 1) printf(“TRUE\n”); else printf(“FALSE\n”); } Dans le cas où ‘x.a3 = -1;’ D’abord si est VRAI . Mais pourquoi “x.a3 […]

Pourquoi stocke 255 dans une variable char donne sa valeur -1 en C?

Je lis un livre en C, et l’auteur a mentionné un texte: ” if ch (a char variable) is a signed type, then storing 255 in the ch variable gives it the value -1 “. Quelqu’un peut-il élaborer à ce sujet?

convertir une chaîne en int signé

Je veux convertir une chaîne en un entier signé. Ce qui suit est l’exigence. J’ai stocké la valeur hexadécimale sous forme de chaîne dans le tampon. Maintenant, je veux convertir cette valeur en int signé. buf = “fb869e” Convertissez ceci en buf = “fb869e” signé. Donc, o / p devrait être -293218. mais quand j’essaie […]

En C Décalage à gauche (caractère) 0xFF par 8 et conversion en int

En décalant à gauche de (caractère) 0xff par 8 et en le convertissant en entier, nous obtenons -256 ou 0xffffff00. Quelqu’un peut-il expliquer pourquoi cela devrait arriver? #include int main (void) { char c = 0xff; printf(“%d %x\n”, (int)(c<<8),(int)(c<<8)); return 0; } La sortie est -256 ffffff00