Hello all,
I'm making a script that converts a binary input into a decimal number.
I always get a 0 as answer for some reason.
Code:
var countMult = 1;
var binary = prompt("enter a binary number");
var len = binary.length;
var dec = 0;
var convert = function(){
for (i=0;i<len;i++){
if (binary.charAt(i) === 1){
//this part seems to be a problem
dec+=countMult;
}
countMult = countMult*2;
console.log(dec);
}
};
convert();
var countMult = 1;
var binary = prompt("enter a binary number");
var len = binary.length;
var dec = 0;
var convert = function(){
for (i=0;i<len;i++){
if (binary.charAt(i) == 1){
dec+=countMult;
}
countMult = countMult*2;
console.log(dec);
}
};
convert();
it works now
but I still need to reverse the order
Code:
var countMult = 1;
var binary = prompt("enter a binary number");
var len = binary.length;
var dec = 0;
var convert = function(){
for (i=0;i<len;i++){
if (binary.charAt(len-i) == 1){
dec+=countMult;
}
countMult = countMult*2;
console.log(dec);
}
};
convert();
It should go in reverse order now but it fails to calculate it correctly...
still working with it
Last edited by gabsillis; 10-15-2012 at 01:52 PM..
var countMult = 1;
var binary = prompt("enter a binary number");
var len = binary.length;
var dec = 0;
var convert = function(){
for (i=0;i<len;i++){
if (binary.charAt(len-(i+1)) == 1){
dec+=countMult;
}
countMult = countMult*2;
console.log(dec);
}
};
convert();
I incorporated the binary script into a list of calculator functions to be called upon with buttons in html. The only problem with it is that something I am using is not compatible with Internet-explorer.
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script>
var add = function(){
var one = prompt("enter first number");
one = parseInt(one,10);
var two = prompt("enter second number");
two = parseInt(two,10);
alert(one+two);
return one+two;
};
var subtract = function(){
var one = prompt("enter first number");
one = parseInt(one,10);
var two = prompt("enter second number");
alert(one-two);
return one-two;
};
var multipltwo = function(){
var one = prompt("enter first number");
one = parseInt(one,10);
var two = prompt("enter second number");
two = parseInt(two,10);
alert(one*two);
return one*two;
};
var divide = function(){
var one = prompt("enter first number");
one = parseInt(one,10);
var two = prompt("enter second number");
two = parseInt(two,10);
alert(one/two);
return one/two;
};
var power = function(){
var one = prompt("enter base number");
one = parseInt(one,10);
var two = prompt("enter exponent number");
two = parseInt(two,10);
if(two===0){
alert(1);
return 1;
}
else{
alert(one*two(one,two-1));
return one*two(one,two-1);
}
};
//different part of calculator
var countMult = 1;
var dec = 0;
var convert = function(){
var binartwo = prompt("enter a binartwo number *note antwo number greater than 1 will be seen as a 0*");
var len = binartwo.length;
for (i=0;i<len;i++){
if (binartwo.charAt(len-(i+1)) == 1){
dec+=countMult;
}
countMult = countMult*2;
console.log(dec);
}
alert(dec);
};
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<input type="button" onClick="convert()" value="change a binary number to a decimal number">
</body>
</html>
Can anyone help me do this please??
I've been stuck on this for a few weeks
The user enters 0010101 and 010100. These should be converted to decimal (21 and 20, respectively). The Finch will speak that: “The two numbers entered are 21 and 20. Their sum is 41 and when multiplied gives 420. Subtracting the two numbers gives 1”.
Please note that the program must *not* use a simple loop which tests for all 127 cases of decimal number in the case of the 7-binary digit number etc. The program must incorporate a proper algorithm for converting the number by parsing (i.e. searching) the string of bits.
The program should be tested with binary numbers input from the keyboard as well as from a file. You may decide how the two binary numbers in the file are formatted, e.g., one after the other or separated with a new line.
And please do not hijack someone else's thread. Prefer to start a thread of your own
What's worse - they've hijacked a JavaScript thread to ask a question which is obviously not intended to be JavaScript. We don't even know what language that the person is learning where they were given this homework question. Had they supplied the code they have written so far a moderator would at least have some idea of which forum the question belongs in so as to properly slit it off into its own thread.