Articles of types

Différence entre les types C int32_t int_least32_t etc.

J’ai jamais lu qu’int32_t avait exactement 32 bits de long et int_least32_t seulement au moins 32 bits, mais ils ont les mêmes typedefs dans mes stdint.h typedef int int_least32_t; et typedef int int32_t; Alors, où est la différence? C’est exactement pareil …

Types de données C simples

Dupliquer possible: La différence entre int8_t, int_least8_t et int_fast8_t? Je suis un peu confus. Je pense … (corrigez-moi si je me trompe) u_int8_t = unsigned short ? u_int16_t = unsigned int ? u_int32_t = unsigned long ? u_int64_t = unsigned long long ? int8_t = short ? int16_t = int ? int32_t = long ? […]

Que fait vraiment un casting C?

J’écris de plus en plus d’applications C, et maintenant je m’interroge sur les moulages. En C ++, une conversion dynamic est une opération très coûteuse (par exemple, une conversion), mais je ne sais même pas pour une dissortingbution statique. En C, je devais écrire quelque chose comme ça: assert ( p ); /* p is […]

taille des types de données de base en C

J’ai un exemple de programme que j’ai copié à partir d’un site Web. int main(void) { int answer; short x = 1; long y = 2; float u = 3.0; double v = 4.4; long double w = 5.54; char c = ‘p’; typedef enum { kAtsortingbuteInvalid, kBooleanAtsortingbuteActive, kBooleanAtsortingbuteAlarmSignal, kBooleanAtsortingbuteAlign64, kBooleanAtsortingbuteAutoNegotiationComplete, }codes_t; /* __DATE__, __TIME__, […]

Quand utiliser les types de données scalaires de l’API OpenCL?

J’ai eu du mal à comprendre quand utiliser les types de données de l’API OpenCL, tels que cl_float, cl_uchar, etc., qui peuvent être trouvés ici: http://www.khronos.org/registry/cl/sdk/1.0/docs/man/xhtml/scalarDataTypes.html Les exemples que j’ai vus et qui impliquent la copie d’un tampon sur le périphérique ressemblent à ceci: float data[DATA_SIZE]; // original data set given to device //Create the […]

Masquer la définition du type en C

J’ai un fichier .c (une bibliothèque de fonctions) avec une fonction et une définition comme celle-ci: typedef long double big; big foo(int x) { … } Je veux créer une interface de cette bibliothèque, un .h . Moi aussi: typedef long double big; big foo(int); et retirez le typedef long double big; à partir du […]

Pourquoi renvoyer 0x80000000 à partir d’une fonction qui retourne int32_t ne provoque-t-il pas un avertissement?

Considérer: int32_t f() { return 0x80000000; } Pourquoi cela ne provoque-t-il pas un avertissement du compilateur (au moins sur GCC)? 0x80000000 est en dehors de la plage de int32_t ( INT32_MAX est 0x7fffffff ). Je crois que cela devrait provoquer une dissortingbution implicite – est-ce correct? Autre consder: if (f() == 0x80000000) foo(); Ce qui […]

Comprendre la hiérarchie de types C11

J’aimerais bien comprendre la hiérarchie des types du langage C11 et la présenter graphiquement (un diagramme en arbre serait parfait). La norme ne fournit aucun chiffre pour ce problème – il existe 30 points décrivant les types individuels et les relations entre eux. Je voudrais le dessiner. Ma tentative a commencé par obtenir le projet […]

Programmation fonctionnelle (currying) en C / Issue avec types

En tant que programmeur fonctionnel «teint dans la peau», j’ai du mal à ne pas essayer de cadrer mon paradigme préféré dans la langue que j’utilise. En écrivant des éléments de CI, j’ai trouvé que j’aimerais occuper l’une de mes fonctions, puis transmettre la fonction partiellement appliquée. Après avoir lu Y a-t-il un moyen de […]

Comment coder une solution pour traiter les grands nombres?

Je fais quelques problèmes avec Project Euler et la plupart du temps, les calculs impliquent de grands nombres au-delà de int, float, double, etc. Premièrement, je sais que je devrais rechercher des méthodes de calcul plus efficaces afin d’éviter le problème des grands nombres. J’ai entendu parler des bibliothèques Bignum. Mais, pour les intérêts des […]