如何在javascript中输入一个数字?
a = (unsigned int)atoi(arg1);
b = (unsigned int)atoi(arg2);
假设 a 和 b 可以签名。
我想将 4 字节有符号整数转换为 4 字节无符号整数。
我知道在 javascript 中没有类型转换或签名/未签名之类的东西。我正在寻找一种易于理解的算法。
原文由 Matthias 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何在javascript中输入一个数字?
a = (unsigned int)atoi(arg1);
b = (unsigned int)atoi(arg2);
假设 a 和 b 可以签名。
我想将 4 字节有符号整数转换为 4 字节无符号整数。
我知道在 javascript 中没有类型转换或签名/未签名之类的东西。我正在寻找一种易于理解的算法。
原文由 Matthias 发布,翻译遵循 CC BY-SA 4.0 许可协议
你也可以使用
(new Uint32Array([arg1]))[0]
例如
< (new Uint32Array([-1]))[0]
> 4294967295
说明:JavaScript 不像 C 那样遵循传统的机器架构整数转换约定,它更喜欢类型简单性和可移植性而不是低级效率。然而,JavaScript 中的类型化数组(Uint8Array 等)是专门为高效和定义良好的多字节和位级操作而添加的。因此,我们可以利用这一事实来访问定义明确的内置位转换操作。上例中的语法:
原文由 joth 发布,翻译遵循 CC BY-SA 4.0 许可协议
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
3 回答1.3k 阅读✓ 已解决
您可以尝试
a = arg1>>>0
,但我不确定它是否能满足您的需求。有关详细信息,请参阅 此问题。