Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.programmer > #32898

Re: number to byte[]

Path csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Nigel Wade <nmw@ion.le.ac.uk>
Newsgroups comp.lang.java.programmer
Subject Re: number to byte[]
Date Mon, 19 Oct 2015 10:43:36 +0100
Lines 18
Message-ID <d8jsa9Fi4ifU1@mid.individual.net> (permalink)
References <mvsv9r$ohb$1@ls237.t-com.hr> <mvtd9u$c4m$1@dont-email.me> <mvud46$eat$1@ls237.t-com.hr>
Mime-Version 1.0
Content-Type text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding 7bit
X-Trace individual.net WW6C/iXa09gs9fCzx/RztgC0oP4etYYgam3r0A7FTVV9pVVHPi
Cancel-Lock sha1:LW2N3AHcBDSY4WGaafgLQ1LCy+w=
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130329 Thunderbird/17.0.5
In-Reply-To <mvud46$eat$1@ls237.t-com.hr>
Xref csiph.com comp.lang.java.programmer:32898

Show key headers only | View raw


On 17/10/15 22:03, Askfor wrote:
> It is going to be a part of a data header, which needs to be of fixed length. Also it will contain a value of an offset
> which cabn't be longer than 32-bits. So, I don't care how big int actually is, as long as it is big enough to hold 32
> bit unsigned value.

int is signed, as are all Java integers.
int won't hold a 32bit unsigned integer.

It will hold a 4-byte value as long as you don't attempt to interpret that value as a number, for example by performing 
any arithmetic on the value. If the MSB of the MSbyte is 1, it will be interpreted as being a negative number. Don't 
forget that byte is also signed, so the MSbyte would also be negative.
If you need a 32bit unsigned value then you must promote it to 64bit, without sign extension.

Of course, you could write your own UnsignedInteger class, with appropriate storage, and input/output methods.
In the long run it might cause you the least surprises.

For storing/retrieving values in byte[] arrays ByteBuffer is one way to go.

Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

number to byte[] Askfor <askfor@nowhere.net> - 2015-10-17 10:02 +0200
  Re: number to byte[] Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-10-17 08:03 -0400
    Re: number to byte[] Askfor <askfor@nowhere.net> - 2015-10-17 23:03 +0200
      Re: number to byte[] Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-10-17 17:45 -0400
        Re: number to byte[] Askfor <askfor@nowhere.net> - 2015-10-18 12:13 +0200
          Re: number to byte[] Askfor <askfor@nowhere.net> - 2015-10-18 12:44 +0200
            Re: number to byte[] Lew <lewbloch@gmail.com> - 2015-11-29 23:07 -0800
          Re: number to byte[] Eric Sosman <esosman@comcast-dot-net.invalid> - 2015-10-18 08:40 -0400
      Re: number to byte[] Nigel Wade <nmw@ion.le.ac.uk> - 2015-10-19 10:43 +0100
        Re: number to byte[] Wayne <nospam@all.invalid> - 2015-10-20 00:45 -0400
        Re: number to byte[] Kevin McMurtrie <mcmurtrie@pixelmemory.us> - 2015-10-20 13:35 -0700
  Re: number to byte[] Lothar Kimmeringer <news200709@kimmeringer.de> - 2015-10-25 10:22 +0100

csiph-web