Taille d'une variable de type "WORD"

Taille d'une variable de type "WORD" - Delphi/Pascal - Programmation

Marsh Posté le 02-05-2003 à 15:06:15    

Bonjour,
Je voudrais savoir la taille maximum que l'on peut mettre dans une variable de type WORD. Et quel autre type de variable puis-je utiliser si la taille n'est pas suffisante ?
 
Merci.


Message édité par mesta le 02-05-2003 à 15:56:33
Reply

Marsh Posté le 02-05-2003 à 15:06:15   

Reply

Marsh Posté le 02-05-2003 à 15:15:26    

word = 2 octets (sur PC), soit une plage de valeurs allant de 0 à 65535 (non signé) ou de -32768 à + 32768 (signé)
 
Si ça ne te suffit pas, tu as le dword (4 octets, de 0 à 16777216 en non signé), ou le qword (8 octets).


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 15:19:45    

Merci Harkonnen, ton aide m'a été bénéfique ;)

Reply

Marsh Posté le 02-05-2003 à 15:21:54    

Harkonnen a écrit :

word = 2 octets (sur PC), soit une plage de valeurs allant de 0 à 65535 (non signé) ou de -32768 à + 32768 (signé)
 
Si ça ne te suffit pas, tu as le dword (4 octets, de 0 à 16777216 en non signé), ou le qword (8 octets).


 
perdu harko  :o  
 
-32768 à +32767
 
tu devrais avoir honte  :whistle:  [:the one]

Reply

Marsh Posté le 02-05-2003 à 15:22:34    

hum ...
 
Il me met : "Unknown identifier."
 
je fais un sp_adt : dword; a la place de sp_adt : word;
 
Normal ?  :??:

Reply

Marsh Posté le 02-05-2003 à 15:22:56    

bahhhhhhh tu as bu ?
 
un mot de 32bits ça s'arrête pas à 16M  ;)

Reply

Marsh Posté le 02-05-2003 à 15:23:22    

:D

Reply

Marsh Posté le 02-05-2003 à 15:30:31    

hum ...
 
Il me met : "Unknown identifier."
 
je fais un sp_adt : dword; a la place de sp_adt : word;
 
Normal ?  :??:  
 
-> Pareil avec qword <-


Message édité par mesta le 02-05-2003 à 15:30:50
Reply

Marsh Posté le 02-05-2003 à 15:30:33    

BJOne a écrit :


 
perdu harko  :o  
 
-32768 à +32767
 
tu devrais avoir honte  :whistle:  [:the one]  


ah merde [:ddr555]
j'avais fait un copier/coller et j'ai oublié de rectifier le 8 en 7 , idiot que je suis :pfff:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 15:31:34    

Oui mais ca ne repond pas a ma question :/

Reply

Marsh Posté le 02-05-2003 à 15:31:34   

Reply

Marsh Posté le 02-05-2003 à 15:32:43    

BJOne a écrit :

bahhhhhhh tu as bu ?
 
un mot de 32bits ça s'arrête pas à 16M  ;)  


:ouch:
mais ça va pas moi hein !!!
 
je rectifie : 32 bits => de 0 à 4 294 967 296 en non signé !!!
 
de 0 à 16 777 216 c'est 24 bits !


Message édité par Harkonnen le 02-05-2003 à 15:33:12

---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 15:33:50    

mesta a écrit :

Oui mais ca ne repond pas a ma question :/

t'utilises quoi comme assembleur ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 15:35:28    

En fait, a la base c'est du pascal, mais les procedure sont en ASM. Je compile avec turbo pascal 7

Reply

Marsh Posté le 02-05-2003 à 15:47:44    

1 octet (type SHORTINT ou BYTE), 2 octets (type INTEGER ou WORD) ou 4 octets (type LONGINT) alors qu'un réel est stocké sur 4 octets (type SINGLE), 6 octets (type REAL), 8 octets (type DOUBLE) ou 10 octets (type EXTENDED).
 
Merci ;)

Reply

Marsh Posté le 02-05-2003 à 16:00:35    

les types DWord n'étant pas un type Pascal (c'est LongWord ou Cardinal), il n'est pas connu du compilateur. Il faut inclure la unit "Windows"
Sinon dans l'aide à la rubrique "Integer types" t'auras la liste des types.
 
Par contre Word devrait être reconnu


Message édité par antp le 02-05-2003 à 16:01:46

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 02-05-2003 à 16:02:31    

antp> oui desole je mettais trompé de section :/
 
J'ai donc reussi a modifier la variable sp_adt, mais maintenant j'ai un autre probleme :/ quand je remplace la variable WORD par un LONGINT ou SINGLE ou ... a un autre endroit jai une erreur :  
PUSH scan.sp_adt;
Invalid combinaisonof opcode and operands.
 
Cette erreur me surprend pas mais comment puis-je faire .. :/
 
(C du pascal avec des procedures en ASM)


Message édité par mesta le 02-05-2003 à 16:03:05
Reply

Marsh Posté le 02-05-2003 à 16:02:37    

mesta a écrit :

6 octets (type REAL)


 
dans le vieux Pascal oui, maintenant Real = Double.
pour avoir ce type sur 6 octets c'est Real48 le type à utiliser (enfin, vaut mieux pas l'utiliser en général :D)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 02-05-2003 à 16:04:22    

:bounce:

Reply

Marsh Posté le 02-05-2003 à 16:08:40    

mesta a écrit :


PUSH scan.sp_adt;
Invalid combinaisonof opcode and operands.


ce que tu peux faire : à l'intérieur de ton code Pascal, tu stockes la valeur de scan.sp_adt dans une variable, disons theVariable
 
puis, dans ton code en asm :
 
PUSH theVariable
(...)
POP theVariable


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 16:10:32    

Merci bien tous, je vais tester ca  :)  
 
 :jap:  :jap:  :jap:  :jap:

Reply

Marsh Posté le 02-05-2003 à 16:11:41    

Harkonnen a écrit :


:ouch:
mais ça va pas moi hein !!!
 
je rectifie : 32 bits => de 0 à 4 294 967 296 en non signé !!!
 
de 0 à 16 777 216 c'est 24 bits !


 
allez avoue rhum ou vodka ?
(je suis rhum, j'ai de la famille qui a une distillerie à marie-galante :D)

Reply

Marsh Posté le 02-05-2003 à 16:12:56    

en fait, c'est vodka-rhum [:ddr555]
(tu m'invites quand chez ta famille ?  [:zebra33] )


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 02-05-2003 à 16:15:39    

Je donne kel type a theVariable ?? Parce que ca reviendra au meme si je met le meme type que sp_adt :/

Reply

Marsh Posté le 02-05-2003 à 16:29:53    

Harkonnen a écrit :

en fait, c'est vodka-rhum [:ddr555]
(tu m'invites quand chez ta famille ?  [:zebra33] )


 
héhé en ce moment presqie à chaque que je vais chez un pote, je crame une bouteille  [:z-bob]

Reply

Marsh Posté le 02-05-2003 à 16:41:57    

:bounce:
 
(ps: c pas un chat mais un forum :p)

Reply

Marsh Posté le 03-05-2003 à 15:04:01    

Harkonnen a écrit :


ce que tu peux faire : à l'intérieur de ton code Pascal, tu stockes la valeur de scan.sp_adt dans une variable, disons theVariable
 
puis, dans ton code en asm :
 
PUSH theVariable
(...)
POP theVariable


 
Je lui donne kel type a la variable theVariable?  
Ca reviendra au meme si je met le meme type que sp_adt (soit WORD) !

Reply

Marsh Posté le 04-05-2003 à 15:28:18    

:bounce:

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed