Binary Conversion

There are quite a few ways to convert from decimal to binary or, as I should say, from base ten to base two and the reverse when using Max/MSP. I’ve written abstractions using native objects that provide this function and I’ve also written a javascript that does both conversions (and bases up to 36) in one line of code. It is fairly trivial in javascript using the parseInt() and toString() methods.

Here are two lines of code that can be instantiated via [jstrigger] so you don’t have to load an external javascript file. I haven’t tested them extensively but there are a few things to keep an eye open for: negative numbers cause complaints and anything higher than 1023 in binary will destroy the second object as it can only deal with lists ten items long. They will, however, accept and output numeric lists so nothing needs to be patched through the [fromsymbol] object. You can even change the “2″ in each instance to another number up to 9 to change the base you work with. With slight modification this will work all the way up to base 36 as well. I’m sharing them mostly because I like the way the code looks.

jstrigger (a[0].toString(2).split('').map(function(x){return parseInt(x)}))

jstrigger (parseInt(parseInt(a.join().replace('\,'\,''\,'g')\,2).toString(10)))

About these ads

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s