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 ^ […]
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
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 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 […]
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?
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 […]
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 […]