_3 ic 240 205 171 137 103 69 35 1 { a.
81985529216486896

The byte order the machine is using here is little endian

https://en.wikipedia.org/wiki/Endianness#Little-endian

That means the least significant byte here was 239 (your example) or
240 (my example).

But your number was even and 239 is odd...

-- 
Raul

On Wed, Apr 25, 2018 at 10:29 AM, Thomas Hickey <[email protected]> wrote:
> I have a 64 bit number:
> 16b123456789abcdef = 81985529216486896
>
> encoded in 8 bytes in a file:
> 239 205 171 137 103 69 35 1
>
> but
>
> _3 ic 239 205 171 137 103 69 35 1 { a. returns 81985529216486895 (1 less
> than I expected)
>
> 16 #.inv 81985529216486895 returns 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
>
> 16 #.inv 81985529216486896 returns 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0
>
> I suppose this has something to do with signed 64 bit integers, but I don't
> understand it. I'm running on a Intel machine (Surface laptop).
>
> --Th
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to