Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1584 connectés 

  FORUM HardWare.fr
  Programmation

  [c] format d' entiers ?

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[c] format d' entiers ?

n°74829
mario51
Posté le 23-11-2001 à 14:52:06  profilanswer
 

Comment faire pour saisir dans un int, un entier qui fais plus de 17 chiffres???
 
J'ai essaye long int , mais ca marche pas non plus!
 
D'avance merci!

mood
Publicité
Posté le 23-11-2001 à 14:52:06  profilanswer
 

n°74831
godbout
Génial.
Posté le 23-11-2001 à 14:57:01  profilanswer
 

long tout court ??

n°74833
mario51
Posté le 23-11-2001 à 15:01:03  profilanswer
 

Godbout a écrit a écrit :

long tout court ??  




 
pas mieux !!!
 
D'apres mon bouquin, le type long peut aller jusqu'a 2 100 000 000  
 
Moi, j'aimerais aller a un nombre avec plus de 17 chiffres!!
 
C'est faisable ou pas du tout ???

n°74834
godbout
Génial.
Posté le 23-11-2001 à 15:06:48  profilanswer
 

j'ai eu le meme genre de pb l'autre jour, ca m'a parru assez special d'etre limite comme ca !

n°74835
barbarella
Posté le 23-11-2001 à 15:15:22  profilanswer
 

slt,
 
t'es limité a 9 chiffres de 0 a 999 999 999, pour faire des calculs en format 32 bits sinon il te faut du 64 bits. Dans ce cas tu passes en format double float (64 bits) ou long double (80 bits)

n°74837
krolours1
Posté le 23-11-2001 à 15:18:17  profilanswer
 

mario51 a écrit a écrit :

Comment faire pour saisir dans un int, un entier qui fais plus de 17 chiffres???
 
J'ai essaye long int , mais ca marche pas non plus!
 
D'avance merci!  




 
Avec gcc tu as 1 type "long long" qui fait 64 bits

n°74839
Carbon_14
Posté le 23-11-2001 à 15:22:06  profilanswer
 

Pour le stocker, ça peut aller dans une chaîne de caractères  :D. Le problème est ensuite de faire des calculs dessus...

n°74848
flo850
moi je
Posté le 23-11-2001 à 15:33:45  profilanswer
 

moi je vois que la feinte de stocker ds une chaines de carac et de redefinir toutes les opérations , ( addition , multi , sous ...)


---------------

n°74852
Carbon_14
Posté le 23-11-2001 à 15:44:09  profilanswer
 

Quelqu'un voulait faire du codage sur 80 (100, ou plus, sais plus) caractères une fois. Faut redéfinir les opérations chiffre par chiffre comme on fait naturellement sur le papier. Tout dépend du but.
Si c'est juste du stockage, une chaîne, c'est pas mal...

n°74862
Buitoni
Posté le 23-11-2001 à 16:12:20  profilanswer
 

Si je me rapelle bien, on a fait une classe pour faire ca en C++ quand j'etais en deuxième année de mon shti graduat :-)
 
Tu dois pouvoir trouver une classe qui fait plus ou moins ce que tu veux sur http://esiweb.nexen.net, mais sinon y a pleins de classes qui le font je parie... Mais je te dis pas la lenteur du truc!


---------------
Vendredi c'est Buitoni
mood
Publicité
Posté le 23-11-2001 à 16:12:20  profilanswer
 

n°74945
[SDF]Poire
Vive Grumly
Posté le 23-11-2001 à 18:46:12  profilanswer
 

barbarella a écrit a écrit :

slt,
 
t'es limité a 9 chiffres de 0 a 999 999 999, pour faire des calculs en format 32 bits sinon il te faut du 64 bits. Dans ce cas tu passes en format double float (64 bits) ou long double (80 bits)  




Et la marmotte.....
Sur 32 bits avec des entiers non-signé tu peux aler jusqu'à 4294967296 (2^32) et pas 999 999 999  :non:  
T au courant que les PC utilise le binaire et pas une base 10 ???


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°74947
*syl*
--> []
Posté le 23-11-2001 à 18:52:41  profilanswer
 

[SDF]Poire a écrit a écrit :

 
Et la marmotte.....
Sur 32 bits avec des entiers non-signé tu peux aler jusqu'à 4294967296 (2^32) et pas 999 999 999  :non:  
T au courant que les PC utilise le binaire et pas une base 10 ???  




T'as oublié le 0 ! :)
donc le max c'est 2^32 - 1 = 4294967295  
 
 :D  ;)

n°74952
[SDF]Poire
Vive Grumly
Posté le 23-11-2001 à 19:14:08  profilanswer
 

*Syl* a écrit a écrit :

 
T'as oublié le 0 ! :)
donc le max c'est 2^32 - 1 = 4294967295  
 
 :D  ;)  




ok  :D excuse 2^32 possibilités  :D  
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°74957
*syl*
--> []
Posté le 23-11-2001 à 19:48:12  profilanswer
 

[SDF]Poire a écrit a écrit :

 
ok  :D excuse 2^32 possibilités  :D  
 :hello:  




Enfin..c'était déjà mieux que 999 999 999   :lol:  ;)
 
 :hello:

n°74958
[SDF]Poire
Vive Grumly
Posté le 23-11-2001 à 19:52:02  profilanswer
 

*Syl* a écrit a écrit :

 
Enfin..c'était déjà mieux que 999 999 999   :lol:  ;)
 
 :hello:  




Oui  
 :lol:  :lol:  :lol:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°74965
Buitoni
Posté le 23-11-2001 à 20:43:15  profilanswer
 

Shortint ?128..127 signed 8-bit
Smallint ?32768..32767 signed 16-bit
Longint ?2147483648..2147483647 signed 32-bit
Int64 ?2^63..2^63?1 signed 64-bit
Byte 0..255 unsigned 8-bit
Word 0..65535 unsigned 16-bit
Longword 0..4294967295 unsigned 32-bit
 
 
:)
 
Au fait, y a les int64 en delphi/builder... 2^63 (c du signé) ca te suffit pas?


---------------
Vendredi c'est Buitoni
n°75002
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-11-2001 à 23:06:02  profilanswer
 

buitoni a écrit a écrit :

Si je me rapelle bien, on a fait une classe pour faire ca en C++ quand j'etais en deuxième année de mon shti graduat :-)
 
Tu dois pouvoir trouver une classe qui fait plus ou moins ce que tu veux sur http://esiweb.nexen.net, mais sinon y a pleins de classes qui le font je parie... Mais je te dis pas la lenteur du truc!  




 
ceux qui étaient lents c'était ceux qui pour une multiplication faisaient X additions. :sarcastic:
le mien il était super rapide, j'avais refait l'équivalent des multiplications écrites.
Quand je pense que je m'étais fait chier pendant 1 semaine pour ça, et qu'après le prof il testait avec des nombres de moins de 5 chiffres :ouch: :cry:
j'aurais foutu des long int au lieu de faire des classes avec operateurs et tout il n'y aurait vu que du feu.
enfin ça m'avait bien fait plaisir de voir que mon prog pour qques centaines de chiffres dans une multiplication il ne mettait que qques secondes, alors que certains autres élèves c'était qques minutes :D

 

[edtdd]--Message édité par antp--[/edtdd]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°75006
Buitoni
Posté le 23-11-2001 à 23:13:11  profilanswer
 

Pareil, j'ai aussi fait la multiplication ecrite, ca décoiffait!
 
Et pour la division, tu avais fait comment?
Moi je faisais une approche en multipliant des chiffres, c'etait aussi quasi instantané alors que ca prenait un temps fou chez les autres :)

n°75008
antp
Super Administrateur
Champion des excuses bidons
Posté le 23-11-2001 à 23:15:53  profilanswer
 

moi j'avais fait un truc dans le style des divisions écrites.
c'était assez rapide aussi.
enfait les 4 opérations je les avait faites comme les calculs écrits de mon enfance :)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°75015
barbarella
Posté le 23-11-2001 à 23:51:26  profilanswer
 

[SDF]Poire,
 
t'as pas lu correctement. j'ai fait très atttention de préciser pour le calcul, mais apparement ça suffit pas. Si tu te bases sur 10 chiffres comment tu fais pour additionner 2 nombres en étant sur de ne pas avoir de dépassmeent de capacité ? Ben tu peux pas donc tu dois te limité a un truc du genre 2^30, mais t'utilise ni 2^31 ni 2^32 en unsigned.

n°75023
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 00:33:08  profilanswer
 

barbarella a écrit a écrit :

[SDF]Poire,
 
t'as pas lu correctement. j'ai fait très atttention de préciser pour le calcul, mais apparement ça suffit pas. Si tu te bases sur 10 chiffres comment tu fais pour additionner 2 nombres en étant sur de ne pas avoir de dépassmeent de capacité ? Ben tu peux pas donc tu dois te limité a un truc du genre 2^30, mais t'utilise ni 2^31 ni 2^32 en unsigned.  




Ta tentative de ratrapage est incompréhensible.... :pt1cable:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75031
barbarella
Posté le 24-11-2001 à 00:51:36  profilanswer
 

mais,
 
je t'en prie, ponds nous un prog permetttant de saisir A et B (des nombres de 10 chiffres) pour executer un calcul (c'est de ça que je parle) tel que (par exemple) A+B = C avec A,B, C soient codés sur 1 seul long (unsigned ou non). Evidement on parle de base 10.  
 
Nous serons tous ravis de prendre connaissance d'un algo qui n'existe pas encore :D

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°75035
barbarella
Posté le 24-11-2001 à 00:58:24  profilanswer
 

ah j'oubliais,
 
ma remarque a ta dernière remarque
 
"Ta tentative de ratrapage est incompréhensible.... "
 
c'est vrai je suis réputé pour écrire de façon a ne pas me faire comprendre des autres :D

n°75036
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 00:59:56  profilanswer
 

Barbarella a écrit a écrit :

mais,
 
je t'en prie, ponds nous un prog permetttant de saisir A et B (des nombres de 10 chiffres) pour executer un calcul (c'est de ça que je parle) tel que (par exemple) A+B = C avec A,B, C soient codés sur 1 seul long (unsigned ou non). Evidement on parle de base 10.  
 
Nous serons tous ravis de prendre connaissance d'un algo qui n'existe pas encore :D  
 
 




Buitoni tu me dis si je dis une connerie....
Avec des int codés sur 32 ou 64 bits tu peux faire quand même un paquet de calcul sur 10 chiffres...... (surtout avec les int sur 64 bits.....)


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75038
Buitoni
Posté le 24-11-2001 à 01:02:08  profilanswer
 

En entier c'est limite quand même... 9.5 chiffres je dirais :-)
 
Mais en int64 oui, tu peux y aller a l'aise quand meme!

n°75040
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 01:03:44  profilanswer
 

buitoni a écrit a écrit :

En entier c'est limite quand même... 9.5 chiffres je dirais :-)
 
Mais en int64 oui, tu peux y aller a l'aise quand meme!  




 :D Merci je commençais à avoir des doutes.....  :pt1cable:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75041
barbarella
Posté le 24-11-2001 à 01:04:13  profilanswer
 

allons poire,
 
soit pas modeste fais le nous ton algo a 10 chiffres avec des int 32 bits. puis demande pas d'aide, tu baisses dans mon estime ;)

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°75044
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 01:07:09  profilanswer
 

Barbarella a écrit a écrit :

allons poire,
 
soit pas modeste fait le nous ton algo a 10 chiffres avec des int 32 bits. puis demande pas d'aide, tu baisses dans mon estime ;)  
 
 




G pas demandé d'aide.... G demandé une surveillance de mes propos  ;)  
32 bits en unsigned t'as quand même un peu de marge (pas beaucoups ok mais un peu)
Avec du 64 bits C ok
Tu m'expliqueras T 999 999 999 un jour ok ????  :sarcastic:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75045
barbarella
Posté le 24-11-2001 à 01:11:51  profilanswer
 

Décidement,
 
En codage 32 bits, comment veux-tu entrer un nombre de 2^33 qui est un nombre de 10 chiffres, tu peux pas. Comment veux-tu additionner 2^32-1 + 2^32-1, tu ne peux pas. Donc si tu veux faire une fonction générale de saisie et de calcul sur des nombres entier et qu'ils soient codés sur 32 bits ben t'es obligé de les limité a un 99999999.

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°75046
verdoux
And I'm still waiting
Posté le 24-11-2001 à 01:12:26  profilanswer
 

Barbarella a voulu arrondir à la puissance de 10 inférieure.
Si tu dois coder des grands nombres en base 10 sur plusieurs "int" 32 bits, une solution simple est de les réprésenter par tranche de 9 chiffres (donc de 0 à 999999999)

n°75047
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 01:17:08  profilanswer
 

Barbarella a écrit a écrit :

Décidement,
 
En codage 32 bits, comment veux-tu entrer un nombre de 2^33 qui est un nombre de 10 chiffres, tu peux pas. Comment veux-tu additionner 2^32-1 + 2^32-1, tu ne peux pas. Donc si tu veux faire une fonction générale de saisie et de calcul sur des nombres entier et qu'ils soient codés sur 32 bits ben t'es obligé de les limité a un 99999999.  
 
 




 :non: C un peu + compliqué que ça......
999 999 999 * 999 999 999 = 9.999999...*10^17 Tu le cole comment dans un 32 bits ????
Ton truc C juste bon pour les additions (et même pas car tu peux aler un peu + loin que 999 999 999)
(buitoni si je dis une connerie.....)

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75048
barbarella
Posté le 24-11-2001 à 01:19:31  profilanswer
 

Pour illustrer le propos de verdoux voila une addition issu d'une biblio de grand nombre  
 
void add00(tip  *e,tip  *e1,tip  *e2)
{
 tip   a,
    b;
 
// on affecte pas directement à till pour plus de souplesse
 
 a  = *e1;
    RETENU = 0;
 while((a--) > 0L)
 {
  b = *(++e1) + *(++e2) + RETENU;
  *(++e) = b & 0x3FFFFFFF;
  RETENU = (b & 0x40000000) && 1L;
 }
}

 

[edtdd]--Message édité par Barbarella--[/edtdd]

n°75050
barbarella
Posté le 24-11-2001 à 01:21:21  profilanswer
 

999 999 999 * 999 999 999 = 9.999999...*10^17 Tu le cole comment dans un 32 bits ????  
 
Ben justement tu ne peux pas, c'est ça mon propos. Bon je vous laisse avec le winner de service :D

n°75051
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 01:24:06  profilanswer
 

Barbarella a écrit a écrit :

999 999 999 * 999 999 999 = 9.999999...*10^17 Tu le cole comment dans un 32 bits ????  
 
Ben justement tu ne peux pas, c'est ça mon propos. Bon je vous laisse avec le winner de service :D  




Ex : 1073741824 + 1073741823 C codable sur un 32bits signé
Alors le 999 999 999 ?


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75052
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 01:28:49  profilanswer
 

Bon le winner  :D va arréter là car on tombe dans du chipotage de m****....
De toute façon il y aura tjs moyen de faire un débordement....
 :hello:

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75054
fodger
ARRRACHHEE TTAAA FFFOUUFFOUNE!
Posté le 24-11-2001 à 01:44:30  profilanswer
 

les int dépendent de la machine 16 ou 32 bits, voire 64 dans certains cas.
 
Long c'est 32 bits.


---------------
Just drink it!
n°75058
Buitoni
Posté le 24-11-2001 à 01:56:32  profilanswer
 

Barbarella a écrit a écrit :

Décidement,
 
En codage 32 bits, comment veux-tu entrer un nombre de 2^33 qui est un nombre de 10 chiffres, tu peux pas. Comment veux-tu additionner 2^32-1 + 2^32-1, tu ne peux pas. Donc si tu veux faire une fonction générale de saisie et de calcul sur des nombres entier et qu'ils soient codés sur 32 bits ben t'es obligé de les limité a un 99999999.  
 
 




 
 
Ehoh, ca tiens sur 10 chiffres un entier non signé sur 32 bits!
mais le chiffre le plus significatif doit etre inférieur à 5!
 :crazy:

n°75059
Buitoni
Posté le 24-11-2001 à 01:58:13  profilanswer
 

Fodger a écrit a écrit :

les int dépendent de la machine 16 ou 32 bits, voire 64 dans certains cas.
 
Long c'est 32 bits.  




 
Houla, t'es pas sorti de l'auberge toi... Avec un vrai compilateur c'est oublié depuis des années ce coup la hein... Ca existait sur les vieux compilateur C++ de Borland mais maintenant tu peux oublier ca hein :-)
 
En delphi on utilise le Cardinal, c'est un entier non signé, dont la valeur maximale est citée plus haut... (sur 10 chiffres! 4.xxx.xxx.xxx)

n°75072
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 09:06:22  profilanswer
 

Bon j'avais dit que je dirais + rien mais je vais quand même apporté une petite précision....
Barbarella pour que tu sois sur que ton résultat de calcul (à 2 nombres) tienne dans un 32bits non-signé il faut que T 2 1er nombre soit codé sur 16bits non signé (ex : 65535*65535=4294836225 mais 65600*65600 = 4303360000->pas codable sur 32bits....)

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°75077
[SDF]Poire
Vive Grumly
Posté le 24-11-2001 à 09:40:42  profilanswer
 

buitoni a écrit a écrit :

 
 
 
Ehoh, ca tiens sur 10 chiffres un entier non signé sur 32 bits!
mais le chiffre le plus significatif doit etre inférieur à 5!
 :crazy:  




Petite précision : Cette condition est necessaire mais pas suffisante il faut que l'entier non signé sur 10 chiffres soit < 2^32 - 1 pour être codé sur 32bits non-signé

 

[edtdd]--Message édité par [SDF]Poire--[/edtdd]


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [c] format d' entiers ?

 

Sujets relatifs
[Visual C++6 ] Riche Texte Format ???Recherche site web sur format de fichiers
[html] son et clip video au format realplayer???[SQL] Comment faire une recherche sur seulement des mots entiers ?
[PHP] envoyer un mail au format HTMLimplémentation de grands entiers en SML
idée de nouveau format son.... à méditer -> recherche codeur pour aideFormat TIFF V29bis
Reconnaitre le format d'une icone??[Vba] Erreur de compilation pour Format(), Date() ou Chr()
Plus de sujets relatifs à : [c] format d' entiers ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR