Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > C > Les variables : leur vrai visage > Lecture des commentaires

Les variables : leur vrai visage

Vous devez être inscrit pour pouvoir poster des messages

Page : 1 
Pseudo Commentaire
Page : 1 
Hors ligne johon03 # Posté le 20/09/2006 à 15:13:29 - Ce membre a mis la note : 14
Mieux vaux tard que jamais !!
Avatar
Groupe : Membres
Citation : Sheirkus
ou 0(le bit est négatif)

T'as du bien écouter pendant tes cours de maths toi, hein ?! Lol, j'ai pas tout lu, mais sinon ça m'a l'air d'être un bon résumé de ce qu'à dit M@teo ;)

JOHN JOHN !!
Vivez la vie à plein temps !
 
Hors ligne revan # Posté le 20/09/2006 à 17:12:24 - Ce membre a mis la note : 17
Avatar
Groupe : Membres
Attention, tu confonds les réels et les décimaux... X,XXXXX... * 10^n comme tu dis... autrement dit, les nombres qui peut s'écrire sous la forme X/10^n où x et n sont des entiers naturels, sont des nombres décimaux (on donne toujours l'ensemble le plus précis)
Bon voilà, petite leçon de math ^^ Sinon, je le trouve très bien ce tuto !

www.remuneurone.com: énigmes, paradoxes, illusions d'optique, cryptologie, débats scientifiques... etc...
Sciences : Le temps : existence infinie ?, débat sur la notion de temps, de l'âme et de l'origine de l'univers.
Illusion: Coca à plat, si si ! cette bouteille est peinte sur le sol !!!
Paradoxe: Le paradoxe du barbier, à en perdre la tête !
Jeu: La règle mystère, un jeu bien sympa !

Image utilisateur

Allez non de non
C'qu'boudiou j'hallucinions
Par les baloches du cornu
j'ai dû abusé du litron
Cette olive on dirait qu'c'est la couille de Godzilla
Va m'en falloir des endives
Pour contenter c'te bête là

Cryptologie : Le chiffrement par grille trouée, une cryptanalyse bien difficile !
 
Hors ligne Sheirkus # Posté le 20/09/2006 à 17:32:27 - Ce membre n'a pas mis de note
Tout est là :
Avatar
Groupe : Membres
Revan, tu as raison, le terme exacte est nombre décimal, mais j'ai préféré utiliser le terme réel pour ne pas s'embrouiller entre nombres décimaux (ceux avec une virgule) et nombres en base décimal (compris entre 0 et 9) ...

Johon03 tu m'a fait remarqué que j'avais fait une petite faute à ce niveau (qui à été corrigée) : si le bit vaut 0 on dit qu'il est positif, si il vaut 1 il est négatif (et pas l'inverse). Je sais que ton prof de math se mettrait en colère en voyant ça mais je n'y peut rien :-° ...

>The C language<
>>Plus de 970 langages de programmation dans le monde, (Hello_World). :-°
Image utilisateur>>clik here
Image utilisateur
-0x90EBFD-
 
Hors ligne diacred # Posté le 20/09/2006 à 18:16:03 - Ce membre a mis la note : 16
Pastafarianism rules.
Avatar
Groupe : Membres
J'ai déjà lu 2 cours sur le binaire j'ai jamais rien compris alors je vais essayer suis la :p

Il est bien rédigé sinon ;)

Clavier Qwerty, pas d'accents. Donc... Désolé pour les fautes.
Capoeira... is life :), site de l'assoc' ©Diacred ... L'amour est la principale cause de l'achat d'alcool :-°
... Et s'il t'arrive de croiser Alice, Agnès ou Cassandra; rappelle leur que leur nom rime avec syphilis, herpès et sida.
 
Hors ligne acieroid # Posté le 22/09/2006 à 23:05:23 - Ce membre a mis la note : 19
gni
Avatar
Groupe : Membres
Bien rédigé, j'ai tout bien compris, rien à redire :) ... 19/20

« In lisp, code is data and data is code »
Common Lisp - Haskell
Archlinux - stumpwm
Wiki Nyug §§
Oxyradio, une radio libre qu'il est bien d'y écouter
 
Hors ligne kabuto_fr # Posté le 27/09/2006 à 15:01:05 - Ce membre a mis la note : 17
Avatar
Groupe : Membres
Salut,

est tu sure de ca?
Citation : tuto
Bien, retournons à nos octets, ils continent huit bits, c'est-à-dire une séquence de 8 chiffres compris entre 0 et 1 ! Je crois qu'un petit schéma s'impose. Voici à quoi ressemble une case mémoire (qui contient huit bytes) :

ca ne serait pas (qui contient huit bits) et non (qui contien huit bytes).

et ici :
Citation : tuto
bool > 1 octet > true ou false
unsigned char > 1 octet > de - 128 à 127
unsigned wchar_t > 2 octets > de 0 à 65 535
unsigned short > 2 octets > de 0 à 65 535
unsigned int > 4 octets > de 0 à 4 294 967 295
unsigned long > 4 octets > de 0 à 4 294 967 295

pour moi unsigned sinifie non signer or -128 est bien un nombre negatif non
ca ne serais pas plutot de 0 a 255 plutot que de -128 a 127

Citation : tuto
525.5 = 1000001101.1
= 1*2^9 + 0*2^8 + 0*2^7 + 0*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 0*2^1 + 1*2^0 + (.) 1* 2^-1
= 512 + 0 + 0 + 0 + 0 + 0 + 8 + 4 + 0 + 0 + 1.5
= 525.5 > on retombe donc bien sur nos pieds !

.En normalisant, on trouve : 1.0000011011*2^9
.On ajoute 127 à l'exposant qui vaut 9 ce qui donne 136, soit en binaire : 10001000
.La mantisse est composée de la partie décimale de 525.5 en base binaire, c'est-à-dire 0000011011.
.Comme la mantisse doit occuper 23 bits, il est nécessaire d'ajouter des zéros pour la compléter :


Quand tu dis En normalisant on trouve... j'ai bien compris ce que tu disais car j'ais fait des math. mais sinon c'est oas simple a comprendre comment tu arrive de 1000001101.1 a 1.0000011011*2^9

Pour bien comprandre qq detail suplemanaire aurais ete les bienvenu.
Ainsi 525.5 (nobre en base 10).
525.5 = 525.5 * 10^0 = 52.55 * 10^1 = 5.255*10^2
si on decale la virgule a gauche d'un cran on augmante la puisssance de 1.
c'est le meme principe en binaure sauf que l'on est en base 2 et non 10.
ainsi 1000001101.1 = 1000001101.1*2^0 = 100000110.11*2^1 = 10000.011011*2^5 = 1.0000011011*2^9

Voila j'espere que ces explication eclairont ceu qui avais du mal a comprandre cette partie.

sinon exelent tuto 17/20.
@+

La connaissance n'a d'intérêt que si elle est partagée.
 
Hors ligne Sheirkus # Posté le 04/10/2006 à 20:04:58 - Ce membre n'a pas mis de note
Tout est là :
Avatar
Groupe : Membres
Oui tu as raisons, les erreures que tu as signalées ont été corrigées.
Merci pour cette remarque constructive ;) .

>The C language<
>>Plus de 970 langages de programmation dans le monde, (Hello_World). :-°
Image utilisateur>>clik here
Image utilisateur
-0x90EBFD-
 
Hors ligne RedSword # Posté le 21/10/2006 à 06:25:46 - Ce membre a mis la note : 18
Groupe : Membres
Un bool ne serait-il pas un bit(0 ou 1) au lieu d'un octet(2^8) ?

et comment marche la fonction "sizeof(variable)" ?

18/20
Hors ligne Sheirkus # Posté le 25/10/2006 à 19:21:29 - Ce membre n'a pas mis de note
Tout est là :
Avatar
Groupe : Membres
Non un bool prend un byte soit un octet sur la plupart des systèmes, même si on n'utilise qu'un seul bit sur les huit. Pourquoi ? Parce qu'un byte ne peut être "découpé". Ainsi, même pour stocker un nombre entre 0 et 1, on "réservera" huit bits, bien qu'on ne se serve que d'un seul parmis les huit !

>The C language<
>>Plus de 970 langages de programmation dans le monde, (Hello_World). :-°
Image utilisateur>>clik here
Image utilisateur
-0x90EBFD-
 
Hors ligne gawr # Posté le 13/11/2006 à 23:49:26 - Ce membre n'a pas mis de note
Groupe : Membres
Salut

heuu je..., il n'y avait pas d'erreur sur le booleen 0 et 1

0 correspond a l'etat bas et 1 a l'etat haut
en electronique generalement 0 vaut 0 volts et 1 vaut 5volts

quand c'est sur un signal -15 +15 volts

0 correspond a -15 et 1 correspond a +15 volts

donc 0 c'est negatif et 1 c'est positif en plus c'est logique( 1 est superieur a 0 : 1 > 0)
en math 0 peut étre considerer negatif comme positif mais 1 et toujour strictement positif

Parole ( d'electronicien electricien et electrotechnicien ) j'ai trois diplôme un pour chacune des specialité.

edit: j'ai lu un peut vite ton tuto donc oui tu a raison dans le cas de bits pour savoir si on a a faire a un nombre negatif ou positif je croi qu'il faut le preciser par ce que ca méne a confusion. voila sinon il est bien ton tuto

bon courage
Hors ligne akhenathon # Posté le 27/11/2006 à 16:54:07 - Ce membre a mis la note : 12
euh...
Avatar
Groupe : Membres
tuto pas mauvais

mais il peut y avoir quelques confusions par exemple un octet est un byte
mais tu ne le dit pas
sa va que moi j'écoute en MPI mais pour ceux qui n'ont pas de cours sur la mémoire sa peux poser problème

WTF :p
Code : SQL
1
DROP DATABASE IF EXISTS WTF
 
Hors ligne YellowMan # Posté le 15/12/2006 à 22:25:15 - Ce membre a mis la note : 19

Avatar
Groupe : Membres
Très bon tuto, intéressant ;)

Deux petites fautes d'orthographe:

Citation : Pas de titre
Un bit est une "entité", un "chiffre" pouvant valoir 1 (le bit est négatif) ou 0 (le bit est positif).
Bien, retournons à nos octets, ils continent huit bits, c'est-à-dire une séquence de 8 chiffres compris entre 0 et 1 ! Je crois qu'un petit schéma s'impose. Voici à quoi ressemble une case mémoire (qui contient huit bits)


Citation : Pas de titre

Ok pour les valeurs mais, une variables possède (une?) adresse nan...


Et dans la correction du QCM: (mais là je sais pas si c'est fait exprès :p )
Citation : Pas de titre
cela dépend de ton ordinnauteur


19/20 car la perfection dépasse la nature humaine ;)
 
Hors ligne remram44 # Posté le 17/12/2006 à 21:14:57 - Ce membre n'a pas mis de note
§ KCOMDL §
Avatar
Groupe : Membres
Citation : Tuto
Comment appelle-t-on une case mémoire ?
La bonne réponse était : Un byte

Explications : C'était byte ! En effet, octet désigne un regroupement de 8 bits mais pas forcément une case mémoire (cela dépend de ton ordinnauteur), même i, dans 99% des cas un byte vaut un octet !

Pas d'accord. Octet est la traduction de byte, ces termes sont équivalents. Le terme "octet" n'existe pas en anglais.

---:--: g33k |ns|d3 :--:---
WikiNyug
 
Hors ligne _Azerty777 # Posté le 22/01/2007 à 22:09:05 - Ce membre a mis la note : 17
Avatar
Groupe : Membres
Sympathique, même si je suis pas sûr d'avoir tout compris (surtout que tu différencies byte et octet alors que, comme l'a dit remram, c'est la même chose.

17/20 :)

"Pillages et meurtres.
Que les portes ploient et que les murailles cèdent ;
que la pluie ne puisse effacer la cendre et
que le sang ne soit plus une offrande."
Elend, A World In Their Screams.
 
Hors ligne SpotZup # Posté le 18/02/2007 à 01:07:40 - Ce membre a mis la note : 17
Ceci est un panda
Avatar
Groupe : Membres
Pas mal, j'ai décroché vers la fin mais ça devient vraiment trop éloigné de mon niveau ^^ Mais j'y reviendrai peut-être plus tard (notamment quan j'aurais de meilleures connaissances en maths ou en "binaire"). Le petit hic est les nombreuses fautes d'orthographe ou même les oublis de mots, je ne te reproche rien mais il faudrait que les correcteurs le relisent, il en vaut la peine.

Yeah, bien joué, 17 !

----------= Diviser pour Régner =------------
>> ActionScripteur de 3ème génération <<
 
Hors ligne amoweb # Posté le 30/03/2007 à 23:07:06 - Ce membre a mis la note : 19
a penny for your thought!
Groupe : Membres
J'ai mis 19/20 trés bien j'ai revu des truc dont je ne me rappelais pas :-° ...
Just un truc pourquoi ne parle-tu pas des variables volatile??
Elles seront de plus en plus utilisés avec les programmes multithreads, elles empèche le compilateur de les optimizer cela empèche les erreurs quand deux threades modifient le même variable, (comme ca y a pas de jalous!).
Amaury
Hors ligne .sopra. # Posté le 14/04/2007 à 17:44:26 - Ce membre a mis la note : 18
Avatar
Groupe : Membres
Très bon tuto!! J'ai aprit pas mal de truc et maintenant je comprend mieux la relation bit/octet!! J'ai réussi a tout comprendre sauf la partie des nombres décimals J'avait plus la motivation d'essayer de comprendre ^^ Je te met 18 :)
Hors ligne Spl!nt # Posté le 25/04/2007 à 11:05:02 - Ce membre a mis la note : 17
Avatar
Groupe : Membres
Bien le bonjour,
bon je n'ai pas appris grand chôse pour être franc (étudiant en informatique et ancien GEII), mais ton tuto est utile et plutôt bien fait ^^
C'est vrai qu'on peut s'étonner de ne pas en trouver qui parle de chôses fondamentales pourtant, comme si elles étaient acquises hein ;)
Bon malgrès ça j'ai pû remarquer quelques fautes non corrigées (je sais je suis chiant mais là elles étaient nombreuses hein ^^)

ordinnateur->ordinateur
intèrieur->intérieur
inquiêtez->inquiétez
carractères->caractères
préscédente->précédente
je vous est ->je vous ai
contienent ->contiennent-ils
Complêtez la phase ->complétez la phrase
combient ->combien
j'éspère ->j'espère
concrêtement->concrètement
_des nombres signés positions ou nuls : ->_des nombres signés positifs ou nuls :
une variables possède adresse -> une variable possède une adresse (non corrigé mais remarquée par YellowMan)

Plus des fautes de frappes que des fautes de français :p
Voila juste pour t'aider à avoir un tuto plus propre, c'est pas méchant...
Voila donc je te remercie pour tout les autres
A très bientôt ;)

P.S : gawr arrête de te la jouer en balançant tes diplômes xD.
C'est nul l'électronique ^^ (avis perso hein :) )

Rappelons nous qu'il n'y a pas de questions stupides...juste des gens stupides

Image utilisateur
Image utilisateur
Image utilisateur

 
Hors ligne hugo125 # Posté le 24/06/2007 à 12:01:28 - Ce membre a mis la note : 20
Pourquoi faire simple ?
Groupe : Membres
Bravo pour ce tuto, super bien expliqué et très utile !
J'ai suivi les cours de M@téo sur le C et le PhP, et je ne m'étais jamais posé la question de savoir comment sont enregistrées les variables.
Merci encore,
Hugo125

Citation : Note :
Secret (cliquez pour afficher)
20/20
Hors ligne Rafale # Posté le 25/06/2007 à 01:35:30 - Ce membre a mis la note : 15
Groupe : Membres
Citation : remram44
Citation : Tuto
Comment appelle-t-on une case mémoire ?
La bonne réponse était : Un byte

Explications : C'était byte ! En effet, octet désigne un regroupement de 8 bits mais pas forcément une case mémoire (cela dépend de ton ordinnauteur), même i, dans 99% des cas un byte vaut un octet !

Pas d'accord. Octet est la traduction de byte, ces termes sont équivalents. Le terme "octet" n'existe pas en anglais.

Je ne suis pas parfaitement sur de moi, mais avant de lire ton tuto, j'étais convaincu que octet === byte :p .
Je pensais mais tromper, mais d'autres pensent comme moi...

Sinon, vraiment piège cette question ^^ Comme je croyais que byte = octet, j'ai répondu bit lool

Image utilisateur
Si l'envie de travailler te prend, assieds toi et attends qu'elle passe.
Cherche codeur PHP, xHTML, Graphiste, Graphiste 3D
 
Hors ligne VinzO # Posté le 26/06/2007 à 09:17:32 - Ce membre n'a pas mis de note
Groupe : Membres
Salut,

j'ai une remarque pour la dernière question du QCM.
Que vaut le bit de poid fort de 10101000?
Ta réponse est 1.

A mon avis ce n'est pas exacte. Le chiffre du bit de poid fort est 1. D'accord.
Mais il ne vaut justement pas 1. En binaire non signé il vaut 128.

Sinon même remarque que précédement, "byte" est la traduction anglaise de "octet".

All what we have to decide is what to do with the time that is given us
 
Hors ligne magik-orion # Posté le 26/06/2007 à 22:53:20 - Ce membre a mis la note : 19
I love Hewitt
Avatar
Groupe : Membres
Salut ;)

Super tuto malgré quelques fautes de frappe à corriger.
J'ai bien compris maintenant. Je savais pas que le théorique pouvait être aussi sympa :)

Merci en tout cas :D

19

PHP5 - SQL - AS3 - ASP.NET - JS (prototype) - xHTML - CSS2 - Java 2
 
Hors ligne -ed- # Posté le 29/06/2007 à 08:19:31 - Ce membre n'a pas mis de note
C is a sharp tool
Avatar
Groupe : Membres
Beaucoup de bêtises dans les commentaires...

Un octet (en anglais octet) est un mot de exactement 8-bit. Ce terme est utilisé pour les flux d'entrée/sortie en général, et les réseaux en particuliers (série, IP etc.)

Un multiplet (byte), est la plus petite unité mémoire adressable d'une architecture données. Le langage C exige qu'elle fasse au minimum 8-bit. Il existe des architectures (par exemple certains DSP) dont les bytes font 16 voire 32-bit. La valeur exacte est définie dans <limits.h> par la macro CHAR_BITS.

Autre chose : Dans l'expression 10000000b, la valeur du bit de poids fort est belle et bien 1 et non 128 comme je l'ai lu dans un commentaire. Un bit admettant 2 valeurs (0 et 1), je vois mal comment il pourrait valoir 128... Confusion avec le 'poids' du bit... (2^7 = 128)

Enfin, à propos du tutoriel, attention à ne pas faire trop de généralités sur les plages de valeurs. S'en tenir strictement à ce que dit la norme :

http://www-ccs.ucsd.edu/c/limits.html

ça vaut aussi pour le représentation des nombre entiers signés. La norme C admet 3 modèles :

- signe + amplitude (sign + magnitude)
- complément à 1 (one-complement)
- complément à 2 (two-complement)

D'autre part, le codage des flottants en IEEE 754 est une représentation possible, mais il y en a d'autres, et les implémentations du langage C ne s'en prive pas. La normalisation du langage étant malheureusement sortie après l'implémentation de celui-ci sur différentes architectures, il n'a pas été possible d'imposer un format de flottants unique. Les détails de l'implémentation sont contenus dans <float.h> :

http://www-ccs.ucsd.edu/c/float.html

Je n'ai pas tout lu en détail...

Emmanuel Delahaye.
Non à la pub sur l'alcool sur Internet.

Des infos sur la programmation et le langage C:
http://bien-programmer.blogspot.com/
http://mapage.noos.fr/emdel/


Image utilisateur
 
Hors ligne BkM- # Posté le 27/11/2007 à 19:50:39 - Ce membre a mis la note : 18
BrokenKillMaster-
Avatar
Groupe : Membres
Petite faute:préscédente
et il manque un m à seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm (pas évident...)
Très bon tuto!
18/20

Après le courant, découvrez la connexion alternative. Merci Club Internet! ~ 0.1Mo/s
Image utilisateur
 
Hors ligne E-Sh4rk # Posté le 31/03/2008 à 18:14:04 - Ce membre n'a pas mis de note
Avatar
Groupe : Membres
Excellent tuto ! Un des plus interessants de la rubrique ! 20 !
Hors ligne Zimm i48 # Posté le 14/07/2008 à 16:26:20 - Ce membre a mis la note : 16
A quand la retraite ?...
Avatar
Groupe : Membres
Franchement, tuto très intéressant.
Sinon un petit tour chez les zCorrecteurs ne lui ferait pas de mal, lors d'une prochaine mise à jour (j'ai finalement renoncé à te faire la liste de toutes les erreurs).
Je suis au moins le troisième à le dire mais 1 OCTET = 1 BYTE (qui au passage se prononce baite). C'est important que cette approximation ne reste pas dans ton tuto. ^^

Rendez-vous sur Test-Pedago.fr, le site d'un projet libre de logiciels pour s'entraîner sur les tables de multiplication et les conjugaisons.


Wikiversité
 
Hors ligne cvanaret # Posté le 29/07/2008 à 15:46:25 - Ce membre n'a pas mis de note
Groupe : Membres
Hello !
Tuto très intéressant :p
Juste quelques erreurs d'orthographe qui gâchent un peu :-°
Genre : mémo technique -> mnémotechnique
fonctionnes -> fonctionnent
vous voyez comment RAM peut stocker que nombres ...
et des confusions é/er

Et je rappelle pour le QCM qu'un entier relatif positif est appelé un entier naturel ... ;)
Sinon no problem :lol:
Hors ligne bluestorm # Posté le 31/08/2008 à 08:33:06 - Ce membre n'a pas mis de note
dont ask to ask
Avatar
Groupe : Membres
Pourquoi appeler ce tuto "les variables" ? Il ne parle pas du tout de variables, mais des représentations machine des types numériques en C.

Tu aurais du l'appeler plutôt "les nombres du C" ou quelque chose comme ça.
 

Vous devez être inscrit pour pouvoir poster des messages

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 95 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0339s (0.0226s)