繁体   English   中英

为什么 JS 和 Dart 中的左移不同?

[英]Why left-shift in JS and Dart are different?

在 Javascript 中: 255 << 24 = -16777216

在 dart 中: 255 << 24 = 4278190080

有什么方法可以让我在类似于 JS 的 Dart 中得到相同的答案?

要在 Dart 中获得与 JavaScript 完全相同的结果(无论是否在 web 上),请执行以下操作:

  var jsValue = (255 << 24).toSigned(32);

JavaScript 将所有按位运算转换为 32 位整数,并将除>>>之外的所有运算符转换为有符号整数。 因此,对结果执行.toSigned(32)以精确执行JavaScript所做的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM