gpt4 book ai didi

batch-file - 为什么不能直接在 `set/A`的表达式中使用-2147483648?

转载 作者:行者123 更新时间:2023-12-04 00:37:57 25 4
gpt4 key购买 nike

您可能已经注意到,-2147483648 = -231 是有符号 32 位整数范围的负限制。

当我尝试从字面上使用这个值时......:

set /A -2147483648

...,出现以下错误:

Invalid number.  Numbers are limited to 32-bits of precision.


但是,我可以毫不费力地说明正极限 2147483647 = 231 - 1:
set /A 2147483647

那么为什么 set /A表现得像那样,虽然这个数字完全在有符号二进制补码 32 位整数的适用范围内?

有没有办法直接在 set /A 中声明常量 -2147483648表达?

我知道,我可以使用一个预设为该值的变量,例如 set NEGLIM=-2147483648 ,然后以未展开的方式使用它,例如 set /A NEGLIM ,但是没有立即提供该值的方法吗?

最佳答案

我提出以下解决方法:

set /A -2147483647-1

结果:
-2147483648

有趣的笔记: set /A -2147483647-2 yield 2147483647所以玩弄极限是危险的:)

关于batch-file - 为什么不能直接在 `set/A`的表达式中使用-2147483648?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39626525/

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