It's modifiable easily enough, but here's the basic premise:

Input a decimal (say, the number 1) and request an array length in return (default 6 bits).

It will convert the decimal to binary, and store each bit into an array in reverse order for easy flag operation. Our example of 1 would then return [1,0,0,0,0,0].

private function dec2bin(dec:uint, digits:Number=6):Array {

var result:Array = new Array();

for (var i:Number = 0; i <= digits-1; i++) result[i] = 0; for (var i:Number=digits-1; i >= 0; i--) {

if ((dec - Math.pow(2,i)) >= 0) {

result[i] = 1;

dec -= Math.pow(2,i);

}

}

return result; // results are in reverse order... 1 == 1,0,0,0,0,0

}

I used this code for retrieving a single ascii charcode to store the combinations of the various 6 keys you can press in the game. I googled around and couldn't find anything, so hopefully this will help someone else.

This is easily converted to outputing the Binary to String format, or reversing the Array, if you so need.

## No comments:

## Post a Comment