Articles of types

Stockage et impression de valeurs entières supérieures à 2 ^ 64

J’essaie d’écrire un programme pour trouver des nombres premiers mersenne. En utilisant le type long long unsigned, j’ai pu déterminer la valeur du 9ème prime de mersenne, qui est (2 ^ 61) -1. Pour des valeurs plus grandes, il me faudrait un type de données capable de stocker des valeurs entières supérieures à 2 ^ […]

Qu’est-ce qui définit un type opaque en C et quand sont-ils nécessaires et / ou utiles?

J’ai déjà vu un peu le concept de «types opaques», mais je n’ai pas vraiment trouvé de réponse succincte sur ce qui définit un type opaque en C et, plus important encore, sur les problèmes qu’ils permettent de résoudre avec leur existence. Merci

Comment obtenir le type d’une variable en code C?

Existe-t-il un moyen de découvrir automatiquement le type d’une variable en C, via un mécanisme du programme même ou, plus vraisemblablement, via un script de pré-compilation utilisant les passes du compilateur jusqu’au point où a analysé les variables et leur a atsortingbué leurs types? Je cherche des suggestions générales à ce sujet. Vous trouverez ci-dessous […]

Quel est le type correct pour les index de tableau en C?

Quel type d’index de tableau dans C99 doit être utilisé? Il doit fonctionner sur LP32, ILP32, ILP64, LP64, LLP64 et plus. Il n’est pas nécessaire que ce soit un type C89. J’ai trouvé 5 candidats: size_t ptrdiff_t intptr_t / uintptr_t int_fast*_t / uint_fast*_t int_least*_t / uint_least*_t Il existe un code simple pour mieux illustrer le […]

Des tailles minimales garanties pour les types en C?

Pouvez-vous généralement faire des hypothèses sur la taille minimale d’un type de données? Ce que j’ai lu jusqu’à présent: caractère: 1 octet court: 2 octets int: 2 octets, généralement 4 octets long: 4 octets flotte??? double??? Les valeurs dans float.h et limits.h – limits.h dépendantes du système?

Type à utiliser pour représenter un octet en ANSI (C89 / 90) C?

Existe-t-il une méthode de plainte standard pour représenter un octet dans ANSI (C89 / 90) C? Je sais que, le plus souvent, un caractère est un octet, mais je crois comprendre que ce n’est pas garanti. En outre, il existe stdint.h dans la norme C99, mais qu’utilisait-on avant la C99? Je suis curieux à la […]

Question sur le comportement en C pour le dépassement inférieur entier non signé

J’ai lu à de nombreux endroits que le dépassement d’entier est bien défini en C, contrairement à la contrepartie signée. Le débordement est-il le même? Par exemple: unsigned int x = -1; // Does x == UINT_MAX? Merci. Je ne me souviens plus où, mais j’ai lu quelque part que l’arithmétique sur les types intégraux […]