Re: For Loop problem
- To: mathgroup at smc.vnet.net
- Subject: [mg65603] Re: [mg65595] For Loop problem
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Tue, 11 Apr 2006 04:04:09 -0400 (EDT)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
y=Range[0,5000,1000]
{0,1000,2000,3000,4000,5000}
y=If[#>2048,#-2048,#+2048]&/@y
{2048,3048,4048,952,1952,2952}
Bob Hanlon
>
> From: Rob <rob at piovere.com>
To: mathgroup at smc.vnet.net
> Subject: [mg65603] [mg65595] For Loop problem
>
> I've got to manipulate some signed 12bit integer numbers from a file and
> apparently Mathematica only handles 8 and 16 bit signed numbers
> (probably for a very good reason). So I bring them in as 16 bits (and
> they're stored that way with a leading zero nibble) and then I have to
> do the following to make sense of them. I really don't know why this
> code works but it does.
>
> For[i = 1, i < Length[y], i++, If[y[[i]] > 2048, y[[i]] =
> y[[i]] - 2048, y[[i]] = y[[i]] + 2048]];
>
> So to my question: once again I had to resort to a For loop to pull this
> off and I know this is a no-no. But I'm so clueless about Mathematica
> that I've never come up with a more sophisticated method after a year or
> so of thinking about it. Can someone help (as they usually can)?
>
> Thanks, Rob
>
>