comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: From Bytes to Doubles, etc.
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Re: From Bytes to Doubles, etc. [message #11986] Sun, 21 June 1998 00:00
Justin[1] is currently offline  Justin[1]
Messages: 4
Registered: June 1998
Junior Member
csaute3@alumni.umbc.edu wrote in message
<6m91i4$2n6$1@nnrp1.dejanews.com>...
> Justin,
>
> You posted asking how to convert binary data
> back to the original numbers. you said there are only a few numbers
> that you want to convert and you know where they exist in the array.
> This is what I do:
<snip>
> ; to convert to long where 0 is my offset in the byte array
> number = long(data, 0)
>


Cathy,

I think this was case of not reading the manual - I didn't know of the
offset argument for the conversion functions in IDL, my apologies! Thanks
for bothering to reply, this has saved me a lot of work and messy coding -

Justin
Re: From Bytes to Doubles, etc. [message #12022 is a reply to message #11986] Wed, 17 June 1998 00:00 Go to previous message
csaute3 is currently offline  csaute3
Messages: 10
Registered: March 1998
Junior Member
Justin,

You posted asking how to convert binary data
back to the original numbers. you said there are only a few numbers
that you want to convert and you know where they exist in the array.
This is what I do:

; getblock in function which reads the data and returns a byte array
data = getblock(arg1, arg2)

; to convert to long where 0 is my offset in the byte array
number = long(data, 0)

; to convert to float where 16 is my offset in the byte array
a = float(data, 16)

; to convert a structure where 20 is my offset in the byte array
; to the beginning of the structure
structure = {gridstruct, usage:long(0), r:float(0.0), z:float(0.0)}
grid = {gridstruct}
grid.usage = long(data, 20)
grid.r = float(data, 24)
grid.z = float(data, 28)

; to convert a string where 32 is my offset in the byte array
; and my string is length 20 characters. this must be known.
; i often store the length as a long in my byte array and read
; it first.
name = ''
namelength = 20 ; number of characters
tmp = bytarr(namelength)
tmp = data(32:32+namelength-1)
name = string(tmp)


I hope this helps. Look up in the IDL help about long, float, double.


Cathy


-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/ Now offering spam-free web-based newsreading
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: To found the size(area) of a certain domain.
Next Topic: Re: IDL Object for creating a Singleton

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 05:14:20 PDT 2025

Total time taken to generate the page: 0.40072 seconds