Je dois envoyer un tableau int sur une socket UDP. Dois-je le convertir sous forme de tableau de caractères ou de séquence d’octets? Quelle est la solution standard?
J’essaie d’implémenter le schéma de chiffrement RSA. Ca fait plutot comme ca: encrypted data = ((message)^e) % n et decrypted data = ((encrypted data)^d) % n J’ai essayé de mettre cela en œuvre dans c. Voici le code: #include #include #include int main(){ long int num = 3255859; long int encrypt =(int)pow((double) num,3) % 33; […]
Quelqu’un pourrait-il être en mesure d’expliquer pourquoi int et const int donnent des résultats différents lorsqu’ils sont convertis en float et utilisés en calcul à virgule flottante? Voir par exemple ce morceau de code: int _tmain(int argc, _TCHAR* argv[]) { int x = 1000; const int y = 1000; float fx = (float) x; float […]
Les API d’interface de passage de messages utilisent toujours int comme type pour les variables de count . Par exemple, le prototype de MPI_Send est: int MPI_Send(const void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm); Cela peut poser problème si le nombre d’éléments à envoyer ou à recevoir augmente, voire même […]
Dans le code: … #define MAXELEMNTS 100 struct book { int number; char name[31]; char author[31]; int year; char publisher[31]; }; struct book bkStruct[MAXELEMENTS]; … Les champs de nombre entier (nombre et année) sont-ils initialisés à 0 par défaut lorsque les autres champs de caractère sont initialisés mais pas ces deux? Ou ont-ils Dieu-sait-quelle valeur? […]
J’ai déclaré et initialisé deux variables comme indiqué ci-dessous: int a=5; char* str; str = (char*)calloc(255, sizeof(char)); Je veux convertir l’int en char * en standard C. Je ne peux utiliser aucune fonction de conversion de C ++ telle que itoa. J’utilise Ubuntu 11.10
La taille d’un entier non signé en C est comprise entre 0 to 65,535 or 0 to 4,294,967,295 . J’ai testé avec les codes suivants en C: unsigned int number = 0; number -= 300; printf(“%d\n”, number); SORTIE: -300 Je me souviens que si la valeur de la variable unsigned int passait au-dessous de 0, […]
J’essaie de faire ce qui suit int a[8]={1,2,3,4,5,6,7,8}; printf(“%f\n”, *(float *)a); printf(“%f\n”, *((float *)a+1)); printf(“%f\n”, *((float *)a+2)); printf(“%f\n”, *((float *)a+3)); printf(“%f\n”, *((float *)a+4)); printf(“%f\n”, *((float *)a+5)); printf(“%f\n”, *((float *)a+6)); printf(“%f\n”, *((float *)a+7)); Je reçois 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 La raison pour laquelle j’essaie d’imprimer les éléments de cette manière est que […]
Dans l’ une des réponses dans Conseils pour jouer au golf en C , j’ai vu ce code (version non-lue) s[],t; main(c){ for(scanf(“%*d “); ~(c=getchar()); s[t++]=c) putchar(s[t]); } Je pense que le programme ci-dessus expose UB (mais qui se soucie du code de golf?). Mais ce que je ne comprends pas, c’est la scope globale […]
Dans le programme répertorié ci-dessous, les tailles sizeof (int) et sizeof (long) sont égales sur ma machine (les deux ont la même valeur (4 octets). Un long, autant que je sache, est de 8 octets. Est-ce correct? J’ai une machine 64 bits #include #include int main(void){ printf(“sizeof(short) = %d\n”, (int)sizeof(short)); printf(“sizeof(int) = %d\n”, (int)sizeof(int)); printf(“sizeof(long) […]