相关疑难解决方法(0)

如何在JavaScript中将整数转换为二进制?

我希望看到二进制中的整数,正数或负数.

更喜欢这个问题,但对于JavaScript.

javascript numbers

266
推荐指数
8
解决办法
27万
查看次数

JavaScript%(modulo)给出负数的否定结果

根据谷歌计算器 (-13) % 6451.

根据Javascript(参见这个JSBin)它是-13.

我该如何解决?

javascript math modulo

224
推荐指数
9
解决办法
7万
查看次数

Javascript十进制到二进制 - 64位

十进制-805306368的二进制文件是:

11111111111111111111111111111111 11010000000000000000000000000000

但是,在Javascript中我得到以下内容:

   var str = parseInt(-805306368).toString(2);
   document.write(str);
Run Code Online (Sandbox Code Playgroud)

-110000000000000000000000000000

任何人都可以解释如何从这个十进制解析64位二进制字符串?

javascript binary decimal

5
推荐指数
1
解决办法
4538
查看次数

JavaScript 中的位运算

我知道 JavaScript 中的数字以 IEEE-754 格式存储。但是当我们使用整数时,特别是按位运算符,它们被表示为 32 位的二进制补码。

-1也会如此0xFFFFFFFF。但是。(-1).toString(2)-1并且-1 >>> 31是 1,没错,但是-1 >>> 32必须是0,无论它是4294967295。而且-1 << 32一定是0,但确实是-1

为什么按位运算以这种方式工作?并toString()显示带有符号的数字-,为什么这个减号不在符号位中?又何以-1 >> 0-1,但又-1 >>> 04294967295>>我知道和之间有什么区别>>>,但第二个操作数是0,所以我无法理解为什么这些操作以不同的方式工作。

javascript bitwise-operators

5
推荐指数
1
解决办法
174
查看次数

将Number转换为二进制字符串的函数

编写一个转换函数,将数字传递给二进制字符串.该函数正在创建一个合适的二进制序列,但我的比较函数在比较等于binaryIndex[0](例如n = 32,16,8,4)的数字时跳过第一个索引.有什么想法吗?

这一步创建了一个二进制有序数组,我将使用它来检查传入的参数:

var Bin = function(n) {
  var x =1;
  var binSeq=[];
  var converted=[];
  for (var i=0; x <= n; i++) {
  binSeq.unshift(x)
  x = x+x
  }
  console.log(binSeq)
Run Code Online (Sandbox Code Playgroud)

下一步应该比较并吐出一个1和0的二进制序列:但它正在跳过 if (n === binSeq[0])

for (var i=0; i < binSeq.length; i++) {
  if ((n - binSeq[i]) >= 0) {
  converted.unshift(1);
  n=n-binSeq[i]
  } else {converted.unshift(0)}
}
console.log(converted)
}
Run Code Online (Sandbox Code Playgroud)

链接到CodePen:https://codepen.io/fdeppe/pen/GEozKY 编辑= 1111

javascript binary function

2
推荐指数
1
解决办法
2642
查看次数