[C] fgets signification de 2048 et 128
Résolu/Fermé
slackeruser
Messages postés
121
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
3 août 2018
-
14 sept. 2010 à 01:40
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 15 sept. 2010 à 08:23
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 15 sept. 2010 à 08:23
A voir également:
- [C] fgets signification de 2048 et 128
- Ghz signification - Guide
- O/ signification ✓ - Forum Hotmail / Outlook.com
- 128 gb en go ✓ - Forum Matériel & Système
- Mémoire vidéo dédiée : 128 mo ✓ - Forum Carte graphique
- Signification ^^ texto ✓ - Forum Mobile
4 réponses
Bonsoir,
Un partie de la réponse ...
fgets (buffer, 2048, fp);
fgets (buffer, 128, fp);
fgets est une fonction pour
aller chercher des donnees
cette fonction utilise ici 3 arguments
buffer - nom de l'emplacement mémoire du récipient
128 ou 2048 - taille du récipient
128 bits ou 2048 bits
fp - ??? je ne connais pas ce paramètre, reférence au type de données j"imagine.
la fonction peut alors lire des blocks de fichier,
le plus petit bloc du système de fichier NTFS contient
4096 octets.
Bonne continuité.
Lupin
Un partie de la réponse ...
fgets (buffer, 2048, fp);
fgets (buffer, 128, fp);
fgets est une fonction pour
aller chercher des donnees
cette fonction utilise ici 3 arguments
buffer - nom de l'emplacement mémoire du récipient
128 ou 2048 - taille du récipient
128 bits ou 2048 bits
fp - ??? je ne connais pas ce paramètre, reférence au type de données j"imagine.
la fonction peut alors lire des blocks de fichier,
le plus petit bloc du système de fichier NTFS contient
4096 octets.
Bonne continuité.
Lupin
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
14 sept. 2010 à 08:18
14 sept. 2010 à 08:18
Lorsque tu ne sais pas, regarde la documentation :
http://www.linux-kheops.com/doc/man/manfr/man-ascii-0.9/man3/fgets.3.txt.html
128 ou 2078 représente la taille lu en effet, mais en octet et non en bit.
http://www.linux-kheops.com/doc/man/manfr/man-ascii-0.9/man3/fgets.3.txt.html
128 ou 2078 représente la taille lu en effet, mais en octet et non en bit.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
14 sept. 2010 à 08:27
14 sept. 2010 à 08:27
128 ou 2078 représente la taille en byte et non octet. Même si on constate qu'en général le byte vaut 8 bits (donc un octet), ce n'est pas une obligation.
slackeruser
Messages postés
121
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
3 août 2018
15
14 sept. 2010 à 12:18
14 sept. 2010 à 12:18
tout à fait sauf que ces 2 nombres représentent une chose spécial , je ne me rappel pas c'est quoi , parceque dans plusieurs codes on voit aussi malloc(2048) ou malloc(128)
alors pourqu'oi 128 ou 2048 et pas 2000 ou 100 ?
alors pourqu'oi 128 ou 2048 et pas 2000 ou 100 ?
Char Snipeur
Messages postés
9696
Date d'inscription
vendredi 23 avril 2004
Statut
Contributeur
Dernière intervention
3 octobre 2023
1 297
14 sept. 2010 à 12:36
14 sept. 2010 à 12:36
C'est des puissances de 2. C'est tout.
2^10=1024
2^11=2048
128, c'est 2^7 je crois.
Et comme les ordinateurs fonctionnent souvent en puissance de 2, c'est une espèce d'optimisation.
2^10=1024
2^11=2048
128, c'est 2^7 je crois.
Et comme les ordinateurs fonctionnent souvent en puissance de 2, c'est une espèce d'optimisation.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
14 sept. 2010 à 21:07
14 sept. 2010 à 21:07
Oui cela est une question d'optimisation.
malloc() parcourt une liste chaînée pour trouver les blocs disponibles. Une fois qu'un bloc de mémoire suffisamment grand a été alloué, malloc() le coupera en deux pour remettre le résidu dans la liste des blocs disponibles. En allouant une puissance de deux, tu perdras certes de la mémoire, mais tu diminueras le taux de fragmentation des blocs disponibles.
malloc() parcourt une liste chaînée pour trouver les blocs disponibles. Une fois qu'un bloc de mémoire suffisamment grand a été alloué, malloc() le coupera en deux pour remettre le résidu dans la liste des blocs disponibles. En allouant une puissance de deux, tu perdras certes de la mémoire, mais tu diminueras le taux de fragmentation des blocs disponibles.
Bonjour,
Effectivement je croyais qu'il s'agissait de mots binaires
ce que je ne sais pas c'est que 128 représente bien
128 octets et non 128 bits (16 octets).
désolé pour ce détail et merci de la précision.
étant donné qu'a l'époque ou j'ai codé ces choses
il s'agissait de bits, il serait tout juste naturelle
qu'il s'agissent d'octets, c'est donc ce que fait
la fonction
fgets(nom_Adresse, espace_alloué, Type_Transfert)
tout étant retransformé en code machine, l'adressage
est sur une base binaire, une simple adresse url
prend 4 octets, 32 bits
pour moi le nombre d'octets est le nombre d'octets
annoncer par le variable selon on type donnée
avec 2 G RAMs, tant qu'a ouvrir un canal aussi
bien prendre un canal de 2048 octets, 2 K RAM,
avec un OS normal je pourrais en ouvrir 500
canaux simultannéments comme celui-ci.
Lupin
Effectivement je croyais qu'il s'agissait de mots binaires
ce que je ne sais pas c'est que 128 représente bien
128 octets et non 128 bits (16 octets).
désolé pour ce détail et merci de la précision.
étant donné qu'a l'époque ou j'ai codé ces choses
il s'agissait de bits, il serait tout juste naturelle
qu'il s'agissent d'octets, c'est donc ce que fait
la fonction
fgets(nom_Adresse, espace_alloué, Type_Transfert)
tout étant retransformé en code machine, l'adressage
est sur une base binaire, une simple adresse url
prend 4 octets, 32 bits
pour moi le nombre d'octets est le nombre d'octets
annoncer par le variable selon on type donnée
avec 2 G RAMs, tant qu'a ouvrir un canal aussi
bien prendre un canal de 2048 octets, 2 K RAM,
avec un OS normal je pourrais en ouvrir 500
canaux simultannéments comme celui-ci.
Lupin
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
15 sept. 2010 à 08:23
15 sept. 2010 à 08:23
Oui, mais rien ne garanti qu'il s'agisse d'un octet. La seule précision qu'apporte la norme est que c'est un byte d'au moins 8 bits...