Welcome to the Parallax Discussion Forums, sign-up to participate.

# How to convert a number to binary and then seperate into digits in pbasic?

Posts: 2
edited August 2009
I want to use the potentiometer to provide input to a neural network, so I want to convert the rctime number to a binary number, and then separate it into 1 digit lengths.

For example, say the potmeter gives the rctime value of 323. In binary it would be 0101000011. Then in a format understandable by the neural net, it would be split, literally, into 10 separate digits, i.e. 0, 1, 0, 1, 0, 0, 0, 0, 1, and 1. Each of these would be stored as a variable (or a constant?).
Another example would be the number 700 (around the max of the potmeter). In binary it would be 1010111100. So again, split into 10 digits this would be: 1, 0, 1, 0, 1, 1, 1, 1, 0, and 0.

So the steps pbasic would have to perform would be as follows:
1. Take the number of the current rctime and convert it to binary.
2. Take that binary number and split it into 10 separate digits.
3. Store each of those digits as a variable.

I've been trying to look through the documentation, trying to figure out how to do this. Can anybody help me?
Tagged:

• Posts: 1,429
edited August 2009
Hi , converting to binary is not a problem as the Stamp stores all numbers as binary anyway, decimal format is just a way of displaying the value so that it's easier for you and I to understand.
You could create an array for each bit of the number and read the bits into the array something like the following
```x VAR Bit(10)    ' ten bit array
idx VAR Nib       ' variable use for the count loop

value VAR Word  ' value that contains the ten bits of interest

FOR idx =0 TO 9   ' ten iterations of the loop

x(idx)=value.BIT0       ' store bit
value=value>>1              ' shift value right one bit

NEXT

```

Jeff T.
• Parallax Engineering Posts: 13,787
edited August 2009
If you're sending the data serially to a device this could be dine simply with the BIN formatter of the SEROUT command. It's not clear to me where the data is originating and where it is being stored though.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage

Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
·
Chris Savage
Engineering Tech, Parallax Inc.
(916) 624-8333 x3005
• Posts: 2
edited August 2009
I'm writing a neural net in pbasic to control the servo, and on the input side of the neural net, I need 10 1-bit values, which I want to get from a potentiometer, also hooked up to the stamp module.

Thanks Unsoundcode, I'm not sure what the heck you explained to me, but I may be able to figure it out =)

Apologies, I am still new at programming.
• Posts: 1,429
edited August 2009
@ Chris ,

·http://www.savagecircuits.com/

is that new or have I been to blind to see it , neat link.

Jeff T.
• Parallax Engineering Posts: 13,787
edited August 2009
Jeff, not new...just hasn't been updated in forever. I've been too busy, but it seems recently there has been a need to get information up fast and so I am using the tool again.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage

Parallax Engineering
50 72 6F 6A 65 63 74 20 53 69 74 65
·
Chris Savage
Engineering Tech, Parallax Inc.
(916) 624-8333 x3005