gpt4 book ai didi

dart - Dart/Flutter按位移位运算符返回不同的值

转载 作者:行者123 更新时间:2023-12-03 04:18:31 25 4
gpt4 key购买 nike

与移动设备/台式机相比,Dart / Flutter中的按位移位运算符在Web中返回的值不同。
运行以下代码:

var checksum = 1150946793;
var shift = checksum << 5;
print(shift);

//Returns the following values
Mobile/Desktop = 36830297376
Web = 2470559008
我应该为网络做些什么改变?

最佳答案

Dart将整数存储为带符号的64位值,从而为它们提供了−(2^63)2^63 − 1的可能范围。当超过整数的最大值时,会发生回绕,并且最高有效位会丢失。
但是,使用已编译的JavaScript时,按位运算符truncate their operands to 32-bit integers。这意味着您所看到的折回值(4294967296)比台式机或移动设备低得多。这就是为什么您的数字计算方式不同的原因。
docs for int包含说明。

关于dart - Dart/Flutter按位移位运算符返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63956504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com