Toon posts:

[c] hex waarde in array

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem:

Ik ben op een kitje aan het programmeren en wil de hex waardes die ik binnen krijg als hex in een array zetten, omdat ik ze later weer als hex gebruik. Nu zet hij de hex waarde om naar een decimaal getal.
Ik heb een unsigned char array gemaakt.

Hebben jullie het antwoord?

ik zit al te denken aan een functie die het getal weer terug bouwt naar hex, maar ik heb geen iedee hoe ik dat moet doen....

  • LazySod
  • Registratie: Augustus 2003
  • Laatst online: 23-05 18:32

LazySod

Scumbag with a mission

Hoe moet dat hex getal er uit zien welk je weer terugstuurd?

als het een simpele 2 letter code tussen 00 en ff of FF moet zijn dan kan dat met een sprintfje:

char l_Hex[ 3];

sprintf( l_Hex, "%.2x", getal);


gebruik een hoofdletter X als de letters in het hexgetal een hoofdletter moet zijn.

[ Voor 3% gewijzigd door LazySod op 03-06-2004 13:34 . Reden: oops.. even aan het slapen ]

Proof is the idol before whom the pure mathematician tortures himself. (Sir Arthur Eddington)


Verwijderd

Topicstarter
als ik 0x01 op de poort zet dan dan komt het als 255 uit de buffer |:(

en ik moet het als 0x01 naar de switch statement sturen.... (moet te veel omzetten als ik die switch helemaal moet omschrijven)

werkt jou oplossing dan?

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Tzou bijvoorbeeld handig zijn als we wisten in wat voor formaat je de data binnenkreeg en weer weg wilde sturen.... (en nee, hex is geen formaat)

Professionele website nodig?


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10:52

Creepy

Tactical Espionage Splatterer

Ho even. 0x01 is iets heel anders dan 255.

255 decimaal is namelijk 0xFF.

Voor het gebruik van de getallen boeit het echt niet. Of je nu 0xFF of een 255 stuurt naar die poort, het effect blijft hetzelfde. Dat geld ook voor je switch statement, de waarde verandert namelijk niet, alleen de representatie (hex of decimaal).

Je zult je moeten afvragen of de waarde die je zend naar de poort ook daadwerkelijk uit te lezen is, en zo ja, waarom je een 255 terugkrijgt i.p.v. 1 (0x01 = 1, maar dat wist je mag ik hopen ;) ).

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:00

Janoz

Moderator Devschuur®

!litemod

0x10 is hetzelfde als 16, 020 en ' '(spatie). Alleen de presentatie is anders. In het geheugen wordt het exact hetzelfde opgeslagen (ok niet waar eigenlijk, want in het geheugen staat het als 00010000). Dit geld ook voor een unsigned char array.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 22-05 23:07

.oisyn

Moderator Devschuur®

Demotivational Speaker

Pssst Janoz, 0x20 is een spatie ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12:00

Janoz

Moderator Devschuur®

!litemod

Fuck.. werd op het verkeerde been gezet door de octale weergave |:(

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'

Pagina: 1