yeah, this is a bit of a 'quirk' (rather than a bug)
it boils down to a float (blue), is bipolar and has a range of -64 to +64,
(consider if like voltage, i really wish axoloti had chose -1 to 1 ! )
int 8b, is signed and goes -127 to +127
so +127 = full range
so 127 int = 64 float, so 64 int = 32 float, 1 int = 0.5 int
the way i like to think of floats is as percentages where 64 = 100% of range...otherwise, this things do tend to catch me out
i.e try not to view floats as values ....
not sure about the disp/i..... i think the issue perhaps is, the implicit conversion, just converts the float value to int, i.e. 0.5, and then rounds it.
this is interesting, as its a bit counter to the way tables use the range to convert from int to float.
( usually disp are only debug functions, but if its in the implicit conversion, i can see where this might lead to confusions)
@johannes , is the issue that disp/i (or implicit conversion) doesn't know the range of the int, as could 8 , 16 or 32bit, so its impossible for it to do this...