<html>
<body>
<input type="text" name="inpt" value="please input text in here" id="text_field"></input> <button id="btn" onClick="bnry()">Click me!</button>
<p id="yo"></p>
</body>
<script type="text/javascript">
function hello(){
var n = document.getElementById('text_field').value;
if(n == "fd"){
document.getElementById('yo').innerHTML = "pass unlock";
}
}
function bnry(){
var ary = new Array();
var num = document.getElementById('text_field').value;
var count = 1;
while (num < num*2){
count = num % 2;
num = num / 2;
ary.push(count);
}
document.getElementById("yo").innerHTML = ary;
}
</script>
</html>
最佳答案
JavaScript 中的数字只是 float 。在 Java 中,上面的操作是有效的,因为应用于整数的 /
运算符会返回一个整数:
5/2 == 2 // Java
5/2 == 2.5 // Javascript
要解决此问题,请使用 Math.floor
转换为整数:
while (num > 0){
count = num % 2;
num = Math.floor(num / 2);
ary.push(count);
}
关于javascript - 我无法在 javascript 中使用此方法转换二进制文件,但它可以在 java 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25471693/