begin process at 2012 05 29 18:05:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

pb comprehension (int*) VC++ // TC++


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

pb comprehension (int*) VC++ // TC++

lundi 9 août 2004 à 14:25:04 | pb comprehension (int*) VC++ // TC++

BarthOlivier

Salut ,

J'ai rencontré un truc marrant que je n'arrive pas a expliquer... voici le code :

#include "stdafx.h"
#include "stdio.h"
#include "conio.h"

#define BYTE unsigned char
#define WORD unsigned int

int main()
{
BYTE tmp[2];
WORD *val;

tmp[0] = 1;
tmp[1] = 1;

val=(WORD*)&tmp[0];
printf("%.0f",(double)*val);

getch();
return 0;
}

Quand je compile avec TC++ (sous DOS) j'ai la valeur 257. Rien de bien étonnant me direz vous ....
Essayez avec VC++.... Apparament mon unsigned int est pointé sur 4 Bytes au lieu de 2.... et on à un resultat bizarre > 65535

Quelqu'un peut m'expliquer
Merci d'avance

MisterMok
lundi 9 août 2004 à 14:30:53 | Re : pb comprehension (int*) VC++ // TC++

djl

tc++ 16bits, vc++ 32bits
lundi 9 août 2004 à 14:36:17 | Re : pb comprehension (int*) VC++ // TC++

BruNews

Administrateur CodeS-SourceS
val=(WORD*) tmp;
n'irait pas mieux ? si c'est bien le but recherche qu'il pointe sur tmp.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 9 août 2004 à 14:39:42 | Re : pb comprehension (int*) VC++ // TC++

BruNews

Administrateur CodeS-SourceS
ah oui et ensuite c'est quoi ce cast '(double)*val', tu vas charger 8 octets en fpu a partir de cette adresse alors qu'il n'y en a que 2 d'initialises. Comprends pas le but du tout.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 9 août 2004 à 14:41:01 | Re : pb comprehension (int*) VC++ // TC++

BruNews

Administrateur CodeS-SourceS
ah excuse, je n'avais pas vu la deref du pointeur au sujet du cast.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 9 août 2004 à 18:58:36 | Re : pb comprehension (int*) VC++ // TC++

BarthOlivier

Je percois la différence, mais int ou WORD ca reste toujours du 16 bits (2 octets) non ?

MisterMok
lundi 9 août 2004 à 19:14:01 | Re : pb comprehension (int*) VC++ // TC++

BruNews

Administrateur CodeS-SourceS
int est 4 octets compile pour 32 bits.

ciao...
BruNews, Admin CS, MVP Visual C++
lundi 9 août 2004 à 19:23:17 | Re : pb comprehension (int*) VC++ // TC++

BarthOlivier

D'accord.!!!

mais c'est plutot debile on utilise 2 byte pour rien. Autant dire que y'a plus de int et qu'on travaille toujours en long....
Surtout quand on veut faire du transfert de donnée par voie serie, ca implique de coller 2 octets. Ca multiplie par 2 le nombre d'octets envoyés.....
Question un processeur c'est comme un µC y'a des fonction de type

mov.b
mov.w
mov.l

C'est pas plus long de travailler qu'avec des registres 32 bytes ???

Enfin bref, je n'ai pas le niveau pour critiquer
Je vais me contenter de ta réponse... Merci à vous Deux

MisterMok
lundi 9 août 2004 à 19:32:07 | Re : pb comprehension (int*) VC++ // TC++

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Au contraire, tout ce qui sera traite sur 32 bits sera le plus rapide.
Les acces 8 bits idem, par contre les acces 16 bits ont une penalite et ne sont donc pas parallelisables.

int et long en compilation 32 bits c'est IDEM.

ciao...
BruNews, Admin CS, MVP Visual C++
mercredi 11 août 2004 à 10:08:48 | Re : pb comprehension (int*) VC++ // TC++

DeAtHCrAsH

Moi j'ai une ptite question qui n'a rien a voir.
On parle souvent de bits et de bytes alors qua ca a rien a voir.
Dans le cas de votre de discussion ne devrais t'on pas parler de byte et non de bits ?

Shell

1 2

Cette discussion est classée dans : int, include, vc, tmp, tc


Répondre à ce message

Sujets en rapport avec ce message

Dans le genre prenant........ [ par Xs ] oui !c 'est trés chiant !j'explique mon pb : j'ai un code source, fais par moi-meme, et dedans, je veux que l'on saisisse des renseignement comme le l Probleme reception sur un serveur windows en vc++ [ par alfred ] Salut a tous!!g un probleme dans mon serveur le recv renvoie la valeur -1 et je ne vois pas pouquoi, toute mes socket sont positives le client envois Serveur Vc++6 pb dans recv [ par alfred ] Salut a tousJ'ai un probleme dans mon serveur et je ne sais pas comment le resoudre. Le client se connecte bien et envoie le bon nombre de caracteres [VC++]Gestion du tps en C++ [ par Asarnil ] Voila , je cherche comment gerer le temps de maniere efficace en C++ .La j'ai fait un test qui fait avancer un 0 sur une ligne le pron c'est que meme Pb Chaîne de caractères [ par mmuller57 ] Bonjour,J'ai créé un petit programme qui convertit les caractères d'une chaîne de caractères par leurs codes ASCII :#include #include #include int con Problème incompréhensible [ par JosueClement ] Regardez plutot...Ce programme est une sorte d'horloge!Il n'y a aucune erreur de compilation, mais les heures n'augmentent jamais!!A la ligne 54, j'ai J'ai créé un jeu de course mais .... [ par arconius ] Voila j'ai voulu créé un jeu de course de bonhommes mais étant débutant je suis confronté à un problème, mon bonhomme descend normalement dans le circ VC++ :error LNK2001 : unresolved external symbol _glutGet@4... [ par Sisyphe ] Bonjour, je suis un p'tit nouveau en Opengl et VC++,...j'ai tenté de compiler un prog qui utilise des fonctions Opengl, et il m'indique toute une séri une fiche de renseignement [ par cabarrus ] je cherche à faire un programme qui demande des renseignements pour pouvoir ensuite les affiché comme une fiche d'identité!!!voici monprogramme mais m conversion d'int en CString sous VC++ [ par Orkblutt ] le tire est explicite...merci d'avance!!


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,323 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales