gpt4 book ai didi

haskell - 求和列表时是否有防止溢出的通用方法?

转载 作者:行者123 更新时间:2023-12-01 09:40:54 29 4
gpt4 key购买 nike

我正在使用 ByteStrings,并且扩展了很多 Word8。当我编写 sum word8List 时,返回值也是 Word8,但我知道我的数据,而且这个总和对于 Word8 来说太大了。我应该避免求和,还是它的工作方式与我想象的不同?

是否有一些通用函数可以在不溢出的情况下对数字求和,例如 Num a => a -> Integer

最佳答案

总和将使用为该类型定义的 (+),因此对于 Word8,它将进行环绕。

但是,您可以先执行映射,例如使用 fromIntegral :: (Integral a, Num b) => a -> b ,从而将数字转换为另一种数字类型(如 IntegerWord16Word32 等)。例如:

sum (<b>map fromIntegral</b> word8List) :: Integer

关于haskell - 求和列表时是否有防止溢出的通用方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60363332/

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