User:Tommyaweosme/2 bits 1 byte
Jump to navigation
Jump to search
<h1>2 Bits, 1 Byte Intrepreter</h1>
<p>Please enter your byte.</p>
<p>Output: <text id="output"></text></p>
<input id="code">
<button onclick="document.getElementById('output').innerHTML=run()">Submit</button>
<script>
function run(){
const code = [];
const source = document.getElementById("code").value;
code.push(source[0] + source[1]);
code.push(source[2] + source[3]);
code.push(source[4] + source[5]);
code.push(source[6] + source[7]);
let n = 0;
let turns = 0;
let inc = 1;
while (1){
turns = turns + 1
inc = 1
if (turns > 25){
return("Infinite loop detected.");
};
if (n == 4){
return "";
};
if (code[n] == 11){
return code.join("");
};
if (code[n] == 01){
code[toaddress(code[n+1])] = act(code[toaddress(code[n+1])]);
inc = 2;
};
if (code[n] == 10){
n = toaddress(code[n+1])-1;
};
n = n + inc
};
};
function act(x){
if (x == 00){
return 11;
};
if (x == 01){
return 10;
};
if (x == 10){
return 00;
};
if (x = 11){
return 01;
};
};
function toaddress(x){
if (x == 00){
return 0;
};
if (x == 01){
return 1;
};
if (x == 10){
return 2;
};
if (x == 11){
return 3;
};
};
</script>