Octal to Binary (with code from Old Pedant)
Happy 2013 all-
I'm a hardware guy. I can plug an oscope in and show you code in the form of data pulses, I can trace it through comparators and registers through ALUs and shift registers, but I cannot tell you a thing about what it does.
The hardware I work on has a 24 bit data bus. It runs periodic checks on itself and reports back in octal. The octal words reported look like this: (they could be any octal value, as long as they are in a group of eight digits)
04572100 00356001 00012000 00000000 00000001 00000540 00230000 05460000
The first octal word would be the following in binary:
000 100 101 111 010 001 000 000
which is 24 bits wide. I have to start counting at zero and end at 23, so my second task is to find the ones and note their positions. In this case, bits 3, 6, 8, 9, 10, 11, 13 and 17 are "high" and I have to chase these guys as voltages through schematics because they are faulted, swap the faulty component and test again.
I decided to build a PDF form that could break the octal down to binary because I get PAGES of octal values and what follows is what was generously provided from O. P. :
The syntax is indeed correct, but previewing PDF in ES2 results in a blank page. I have to get LiveCycle to act upon the code and I'm probably just not caffeinated to see what's missing. I tried to connect it to an octal number entry box (object) on the form, but the o.k. button remains greyed out and it won't link up.
var octalAsString = "04572100";
var num = parseInt( octalAsString, 8 ); // 8 means radix 8...octal
var binaryString = num.toString(2); // 2 means binary
// optional: break into groups of 3 bits:
binaryString = binaryString.replace( /(\d\d\d)/g, "$1 " );
alert( binaryString );
// or, all in one step:
var binaryString2 = parseInt( octalAsString, 8 ).toString(2).replace( /(\d\d\d)/g, "$1 " );
alert( binaryString2 );
If you know of a fix, please advise.