Page 1 sur 1

16 bit unsigned

Publié : mer. 10/mars/2010 22:36
par bebou007
salut a tous voila j'ai beaux essayer j'arrive pas a avoir la valeur que je cherche je m'explique j'ai un fichier que j'ai ouvert avec winhex j'ai besoin de récupère les donner dedans

grâce a winhex je sais que c'est un 16bit unsigned par contre j'arrive pas a avoir la même valeur que winhex

un petit screen pour expliquer quel valeur je dois avoir pour quel donner hexa

Image

donc j'ai essayer toute les fonction pour lire mon fichier mais je n'obtiens pas la valeur entourer merci pour vos reponse

Re: 16 bit unsigned

Publié : mer. 10/mars/2010 22:40
par case
essaie

Code : Tout sélectionner

  debug nombre & $ffff
ou nombre est la variable contenant la valeur lue dans le fichier
ca devrais fonctionner

en fait le ' & $ffff ' aplique un masque binaire au nombre et ne garde que les 16 bits de poids faible

Re: 16 bit unsigned

Publié : mer. 10/mars/2010 22:54
par cha0s
Word .w 2 octets -32768 à +32767
pas de 16 bit non signé en pure (sauf le Caractère en unicode) donc il faut ruser

il te suffit donc de lire ton mot de 16 bits et de le foutre dans un type plus adapté

Code : Tout sélectionner

test.w = -1 
test2.l = test & %00000000000000001111111111111111
Debug test2
Edit : arf grillé :p

Re: 16 bit unsigned

Publié : jeu. 11/mars/2010 18:19
par bebou007
merci pour vos reponsse mais sa ne marche pas ou alors j'ai rien compris

si je met sa

nombre=$E5DE28A9
Debug nombre & $ffff

j'obtiens 10409 et non 57061 rechercher merci pour vos reponsse

Re: 16 bit unsigned

Publié : jeu. 11/mars/2010 18:41
par cha0s
57061 = DEE5

Ton éditeur ne doit pas utiliser la même norme de lecture :lol:
nombre=$E5DE28A9
Debug nombre & $ffff
revient a faire

Code : Tout sélectionner

nombre=$000028A9

Re: 16 bit unsigned

Publié : jeu. 11/mars/2010 20:07
par bebou007
ok merci sa marche en fait suffit que je lise d'abord le deuxieme octer puis le premier pour avoir la valeur que je recherche merci

Re: 16 bit unsigned

Publié : jeu. 11/mars/2010 20:16
par case
ton fichier proviens t'il d'un pc ou d'une autre machine ? quel est son processeur ? car il peu s'agir d'un problème d'endian
little endian= intel x86 par exemple
big endian= motorola 68k par exemple

rien a voir avec les indiens :)

je t'invite a lire cette doc sur le sujet http://www.ai.univ-paris8.fr/~fb/Cours/ ... endian.pdf
très instructif je trouves :)

Re: 16 bit unsigned

Publié : jeu. 11/mars/2010 21:29
par bebou007
mon fichier vien bien d'un pc c'est un fichier de la demo de just cause 2 en fait il y a un fichier archive avec toute les donner dedans et un fichier table ou il y a la position et la taille des fichier dans l'archive

Re: 16 bit unsigned

Publié : ven. 12/mars/2010 7:22
par comtois
cha0s a écrit :
Word .w 2 octets -32768 à +32767
pas de 16 bit non signé en pure (sauf le Caractère en unicode) donc il faut ruser
Pas besoin de ruser, le format 16 bits non signé existe en PB.

Code : Tout sélectionner

var.u = 65535
Debug var
Debug Hex(var)

Re: 16 bit unsigned

Publié : ven. 12/mars/2010 12:29
par cha0s
pourtant ce n'etait pas dans ma doc, peut être que je devrait mettre a jour ma version ^^'