<div dir="ltr"><div>Integer readFrom: '<font face="monospace"><font face="arial,sans-serif"><font face="monospace">11111111</font></font></font>' readStream base: 2.  ?</div><div><br></div><div>Best,</div><div>Karl<br></div><div><br></div><div><br></div></div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 16, 2020 at 6:36 PM Eric Gade <<a href="mailto:eric.gade@gmail.com" target="_blank">eric.gade@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi everyone,</div><div><br></div><div>I'm smack in the middle of making some RISC-V tools in Squeak, which means I'm dealing with a lot of low-level bit manipulation.</div><div><br></div><div>One question I have is how best to deal with two's complement representations of integers in Squeak, and how to translate between the different (positive v negative) values based on a given set of bits (or a byteArray or whatever).</div><div><br></div><div>For example, doing the following:</div><div style="margin-left:40px"><font face="monospace">-1 printStringBase: 2 nDigits: 8. "11111111"</font></div><div><font face="monospace"><font face="arial,sans-serif">Gives the expected binary value "11111111"</font></font></div><div><font face="monospace"><font face="arial,sans-serif"><br></font></font></div><div><font face="monospace"><font face="arial,sans-serif">However (and as we should expect), evaluating the following:</font></font></div><div style="margin-left:40px"><font face="monospace"><font face="arial,sans-serif"><font face="monospace">2r11111111. "255"</font></font></font></div><div style="margin-left:40px"><font face="monospace"><font face="arial,sans-serif"><font face="monospace"><br></font></font></font></div><div><font face="monospace"><font face="arial,sans-serif">Gives the (again, expected) value 255.</font></font></div><div><font face="monospace"><font face="arial,sans-serif"><br></font></font></div><div><font face="monospace"><font face="arial,sans-serif">My question is: what is the best way to convert between the complements in Squeak? How can I take 255, examine its bits, and get -1 as the response (or convert in the reverse)? I'm assuming there are already ways to deal with this, I just cannot find them.</font></font></div><div><font face="monospace"><font face="arial,sans-serif"><br></font></font></div><div><font face="monospace"><font face="arial,sans-serif">Thanks!<br></font></font></div><div><div><div><div><div><br>-- <br><div dir="ltr"><div dir="ltr"><div>Eric</div></div></div></div></div></div></div></div></div>
<br>
</blockquote></div>