Prvo treba da utvrdiš veličinu te povratne vrednosti, tj. da li je 16-bitna, 32-bitna, i sl.
Recimo da je 16 bitna.
1000000000000000 <--- most significant bit
0000000000000001 <--- least significant bit
...tvoj zadatak je da proveris da li je postavljen recimo "most significant bit":
1000000000000000 binarno ==
8000 hex
Code:
if ( x & 0x8000 ) // <--- x je povratna vrednost API-ja
{
// jeste most // <--- primeti da se proverava samo prvi bit, i da ce se u ovaj blok doci cak i kada je vrednost recimo 1100000000000000
}
else
{
// nije most
}
...za "least signifficant" koristi 0x0001.
Postoje i drugaciji nacini ispitivanje ovoga sa obicnim vece, manje, pa cak i sa shiftovanjem,
ali ovo je jedno od resenja.
U svakom slucaju, prouci poglavlje gde se pominje binarna aritmetika.
[Ovu poruku je menjao X Files dana 13.01.2007. u 23:48 GMT+1]