Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 16 Nov 2002 06:48:13

XanonymX
Membre
Date d'inscription: 02 Nov 2002
Messages: 64

char ou int ?

J'ai vu que dans le language C, que la variable char occupe 1 octect alors que int occupent 2 octect. Et vu qu'il est possible de stocker des entier dans une variable char je me demandai kel est l'intervalle de valeur admise par la varriable char ? Surment plus restreint que pour int, mais combien ?

Hors ligne

 

#2 16 Nov 2002 15:33:21

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

alors:

int: -32767 à 32767
unsigned int: 0 à 65535

char: -127 à 128
unsigned char: 0 à 255


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#3 16 Nov 2002 16:13:42

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: char ou int ?

héhé récemment je me suis demandé pourquoi mon prog bouclait sans cesse, jusqu'a ce que je tombe sur ceci  lol

Code:

unsigned char i;
...
for (i=0;i<300;i++)... ;

je pouvais toujours attendre qu'il sorte de la boucle for...  :twisted:


Pensez à surveiller mes releases wink

Hors ligne

 

#4 16 Nov 2002 16:50:24

KTr
Haut fonctionnaire graph100.com
Lieu: Saint Etienne
Date d'inscription: 19 Mar 2002
Messages: 1909
Site web

Re: char ou int ?

ca m'est arrivé aussi !!!  :twisted:  :twisted:


(¯`·.¸¸.·´¯`·.¸¸.-> www.ktr.fr.fm  ktr@fr.fm <-.¸¸.·´¯`·.¸¸.·´¯)

Hors ligne

 

#5 16 Nov 2002 19:10:49

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: char ou int ?

un char c'est 8 bits  2^8 possibilités de nombres.
un int c'est  16 bits 2^16 possibilités de nombres.

un unsigned int utilisera 16 bits tandis qu'un int n'utilisera que 15 bits, le 16ème étant le bit de signe.

pareil pour un unsigned char et un char sauf que c'est le 8ème qui sert de bit de signe.

etc...


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#6 17 Nov 2002 03:31:21

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: char ou int ?

alors:

int: -32767 à 32767
unsigned int: 0 à 65535

char: -127 à 128
unsigned char: 0 à 255

c po plutot de -127 a 127 ???


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#7 17 Nov 2002 03:39:52

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

ben justementje me pose la kestion... ms ds l'aide de TC c ça :!:


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#8 17 Nov 2002 03:46:50

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

bon là je convertis

bon ben -128 en hexa ça fait 1$80, et 128 ça fait 0$128.
-127 c 1$81....
à mon avis ça doit être une erreur dans la doc de TC...


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#9 17 Nov 2002 10:22:43

XanonymX
Membre
Date d'inscription: 02 Nov 2002
Messages: 64

Re: char ou int ?

OK alors si j'ai bien compris je gagne un peu de place a mettre un char au lieu d'un int et aussi en rapidité d'exécution(méme si c'est infime)?

Hors ligne

 

#10 17 Nov 2002 10:44:28

tonton1664
Membre
Lieu: Somme (80)
Date d'inscription: 22 Jul 2002
Messages: 217
Site web

Re: char ou int ?

C'est bien de -127 a 128 et de -32767 à 32768

Pour convertir, il faut utiliser le complément à 2:
-Si le nombre est positif et <= 128, il est codé tel quel
-Si le nombre est négatif, inverser tous les bits de la valeur absolue et ajouter 1

Cette technique a plusieurs avantages :
-le 0 n'est pas codé 2 fois (si le premier bit était un bit de signe, on aurait 0 et -0)
-l'addition d'un positif et d'un négatif se fait comme l'addition de 2 positifs

Exemple:
128 est codé en :
1000 0000
-127 :
valeur absolue : 0111 1111
on inverse tous les bits: 1000 0000
on ajoute 1: 1000 0001
-127 se code en 1000 0001

Adition des 2:

  1000 0000
+1000 0001
___________
10000 0001

Le dernier bit dépasse les 8 bits, le microprocesseur le supprime.
Le résultat de l'addition est donc 0000 0001

Or 128 + -127 = 1

Même chose pour les int, sauf qu'il y a 16 bits

Hors ligne

 

#11 17 Nov 2002 10:45:50

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

ben si tu utilise que quelques vars int ou u_int, ben ça fait presk rien, alors que si tu as des très gros tableaux de données là ça joue énormément! un tab de 50 "sous-tabs" en unsigned int prend 10Ko de moins que le même mais déclaré en unsigned long!!!

donc si t'as tout plein de variables fais la conversion, mais fais aussi bien attention aux valeurs maximales des variables, sinon il pourrait t'arriver des sales choses! mais parfois kan tu mets un unsigned char et ke tu testes s'il est négatif ben TC te met un warning ac "case is always false". donc u_int->u_char et int->char, en général.

voila!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#12 17 Nov 2002 11:09:30

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

ah voila!
j'avais oublié de rajouter 1 après avoir complémenté! ( put1 le cancre ac les cours d'élec juste à côté! :lol )


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#13 22 Nov 2002 13:54:27

XanonymX
Membre
Date d'inscription: 02 Nov 2002
Messages: 64

Re: char ou int ?

A ok merci je suis entrain d'apprendre le C mais avec les cours et les bouquin a lire c'est pas facile. Enfin les cours j'exagère un peu fo pas pourssé je suis juste en seconde je peux pas dire que je suis déborder. Je ne suis pas encore a votre stade. Bon j'ai raconter ma vie, j'en suis désoler surtout pour rien dire, je devais me sentir seul... :-(

Hors ligne

 

#14 22 Nov 2002 16:23:12

casioworld
Programmeur Graph100
Lieu: Palaiseau (Essonne)
Date d'inscription: 08 Feb 2002
Messages: 1843
Site web

Re: char ou int ?

vous le sortez d'ou que un int c'est 16 bits. Normalement ca dépend de la machine ??? vous l'avez trouvé ou l'info ?


- http://www.casioworld.wb.st  --> plus grande base de données pour Graph100+
- http://efreidelirium.free.fr --> vive l'EFREI mdr

Hors ligne

 

#15 22 Nov 2002 16:44:49

KTr
Haut fonctionnaire graph100.com
Lieu: Saint Etienne
Date d'inscription: 19 Mar 2002
Messages: 1909
Site web

Re: char ou int ?

un int ca dépend pa plutot du compilo, si il l'interpret en short ou en long...??


(¯`·.¸¸.·´¯`·.¸¸.-> www.ktr.fr.fm  ktr@fr.fm <-.¸¸.·´¯`·.¸¸.·´¯)

Hors ligne

 

#16 22 Nov 2002 19:01:07

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: char ou int ?

non en fait un int c'est un mot machine.

Sur notre NEC V30Mx un mot machine c'est 16 bits, sur un PC c'est 32bits et comme l'a dit Ktr ça dépend du compilateur comme TC est vieux il ne connaît que le cpu 16 bits.


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#17 23 Nov 2002 06:37:58

KTr
Haut fonctionnaire graph100.com
Lieu: Saint Etienne
Date d'inscription: 19 Mar 2002
Messages: 1909
Site web

Re: char ou int ?

Ah c cool desfois de ne pa dire ke des conneries ...  big_smile


(¯`·.¸¸.·´¯`·.¸¸.-> www.ktr.fr.fm  ktr@fr.fm <-.¸¸.·´¯`·.¸¸.·´¯)

Hors ligne

 

#18 24 Nov 2002 03:01:32

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

ben oui, et comme le dit 2072, les mots machine comme  "long" ben ils sont émulés!

et aussi KTr, un short c pareil qu'un int!


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#19 24 Nov 2002 08:08:56

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: char ou int ?

Non un short c'est toujours 16bits, quelque soit la machine.


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#20 24 Nov 2002 09:52:18

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: char ou int ?

oui, ms je parlais pr TC! lol


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr