关键词搜索

源码搜索 ×
×

Web前端笔记-let n = 6 - data.length >>> 0 含义

发布2021-07-13浏览579次

详情内容

先来看C++里面关于位移的操作:

  1. #include <QCoreApplication>
  2. #include <QDebug>
  3. int main(int argc, char *argv[])
  4. {
  5. QCoreApplication a(argc, argv);
  6. qDebug() << "1000 >> 0: " << (1000 >> 0);
  7. qDebug() << "-1000 >> 0: " << (-1000 >> 0);
  8. qDebug() << "(-1000) >> 0: " << ((-1000) >> 0);
  9. qDebug() << "1 - 1000 >> 0: " << (1 - 1000 >> 0);
  10. uint value = -1000;
  11. qDebug() << "-1000: " << value;
  12. qDebug() << "-1000 >> 0: " << (value >> 0);
  13. return a.exec();
  14. }

运行截图如下:

 可见位运算的优先级不高。在C++中无符号数赋值是这样的。4294966296对应的二进制是这样的:

‭1111 1111 1111 1111 1111 1100 0001 1000‬

在JS中没有无符号数的概念,使用

let n = 6 - data.length >>> 0 

这个的含义就是先算6 - data.length,然后将其转换为无符号数。

相关技术文章

点击QQ咨询
开通会员
返回顶部
×
微信扫码支付
微信扫码支付
确定支付下载
请使用微信描二维码支付
×

提示信息

×

选择支付方式

  • 微信支付
  • 支付宝付款
确定支付下载