Two's complement: Difference between revisions
Content added Content deleted
No edit summary |
|||
Line 310: | Line 310: | ||
Module Complement2{ |
Module Complement2{ |
||
// we use binary.and to get a number in range of byte 0 to 255 |
// we use binary.and to get a number in range of byte 0 to 255 |
||
byte k |
byte k, z, v |
||
v=random(0, 255) |
|||
⚫ | |||
k=v |
|||
// sint() get an unsigned value and return a signed one with same bits |
|||
z=binary.and(binary.not(k)+1, 0xFF) |
|||
⚫ | |||
print v |
|||
print sint(z,1)=-100 // using only one byte |
|||
print z |
|||
⚫ | |||
⚫ | |||
} |
} |
||
Complement2 |
|||
Complement2 |
Complement2 |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
{{out}} |
{{out}} |
||
<pre> |
<pre> |
||
2 |
|||
254 |
|||
True |
|||
True |
True |
||
208 |
|||
48 |
|||
True |
True |
||
True |
True |