-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
53 lines (43 loc) · 1.1 KB
/
script.js
File metadata and controls
53 lines (43 loc) · 1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function calc()
{
let number1=document.getElementsByClassName("bd")[0].value;
let number2=document.getElementsByClassName("bd")[1];
let textar=document.getElementsByClassName("textarea")[0];
if(!(errortest(number1)))
{
number2.value=` error`;
textar.innerHTML=`⚠ error please enter a binary number (ex : 101)`;
}
else{
let temp=number1;
let i=0,sum=0;
let rem=null;
let str="";
while(number1>=1)
{
rem=Math.round(number1 % 10);
str+=`(${rem}×${2})<sup>${i}</sup> + `;
sum=rem*2**i+sum;
i++;
number1/=10;
}
str=str.substring(0,str.length-4);
sum=Math.round(sum);
number2.value=sum;
textar.innerHTML=`(${temp}) <sub>2</sub> = ${str}`;
}
}
// error testinf function----------------
function errortest(num)
{
str=""+num;
let ar=str.split("");
for(let number of ar)
{
if((number>1)|| (number<0) || (number>="a") || (number>="A"))
{
return false
}
}
return true;
}