[Gambas-user] Bit manipulation functions

Demosthenes Koptsis demosthenesk at ...626...
Sat Nov 20 16:48:24 CET 2010


Good evening to all,

i test Lsr with a negative short and i get i thing wrong results.

  PRINT "Bin(-9)        :"; Bin(-9)
  PRINT "Bin(Lsl(-9, 1)):"; Bin(Lsl(-9, 1))
  PRINT "Bin(Lsr(-9, 1)):"; Bin(Lsr(-9, 1))

Bin(-9)       :1111111111111111111111111111111111111111111111111111111111110111
Bin(Lsl(-9,1)):1111111111111111111111111111111111111111111111111111111111101110
Bin(Lsr(-9,1)):1111111111111111111111111111011

Lsl is correct, it adds a 0 at the right and shift binary to left
Lsr i think is wrong

-9 is
1111111111111111111111111111111111111111111111111111111111110111

Lsr(-9,1) should be
0111111111111111111111111111111111111111111111111111111111111011



also i found in help
Lsr with a negative Short Number argument will have as result a Short
which has 32 bits, bits 16 to 31 are the result of shifted pattern
&HFFFF0000& 

This is a Bug of Verion 1.9.28

Is this that case? This bug does still exist?


-- 
Regards,
Demosthenes Koptsis.





More information about the User mailing list