是否存在会警告否定文字的无符号整数类型?

加布里埃尔·冈萨雷斯(Gabriel Gonzalez)

ghc如果整数文字超出给定类型的范围最新版本的会警告您。例如:

$ ghci
>>> let x = 330492039485 :: Data.Word.Word8
<interactive>:2:9: Warning:
    Literal 330492039485 is out of the GHC.Word.Word8 range 0..255

但是,ghc不会警告Data.Word类型为负数的数字文字相反,它会下溢(根据文档,有意地):

>>> let x = -1 :: Data.Word.Word8
>>> x
255

是否有任何类型的警告会否定文字,或者有什么方法可以创建自己的自定义警告类型?

ØrjanJohansen

默认情况下,像这样的文字-1会减至negate (fromInteger 1)但是,有一种语言扩展NegativeLiterals使它fromInteger (-1)代替如果启用,你得到一个警告:

Prelude> :m +Data.Word
Prelude Data.Word> :set -W
Prelude Data.Word> :set -XNegativeLiterals
Prelude Data.Word> -1 :: Word

<interactive>:74:1: Warning:
    Literal -1 is out of the Word range 0..18446744073709551615
18446744073709551615
Prelude Data.Word>

另外,您可以使自己的类型重新定义negate,但是可能只会得到运行时错误。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否将整数文字视为无符号?

来自分类Dev

无符号整数类型是否总是大小不同?

来自分类Dev

有符号整数类型及其对应的无符号整数类型

来自分类Dev

从任何数字类型(无符号,整数,...)到双精度类型的隐式提升是否安全?

来自分类Dev

获取最大的无符号整数类型

来自分类Dev

扩展无符号整数类型的转换等级

来自分类Dev

在 C# 中是否可以在没有类型转换的情况下将整数转换为无符号整数?

来自分类Dev

是否存在GCC警告,可检测到有符号类型的移位操作?

来自分类Dev

如何将整数类型转换为无符号类型?

来自分类Dev

无符号整数类型样式的转换。这种风格好吗?

来自分类Dev

强制转换隐式无符号整数类型?

来自分类Dev

大整数隐式截断为无符号类型[-Woverflow]

来自分类Dev

强制转换隐式无符号整数类型?

来自分类Dev

无符号整数类型样式的转换。这种风格好吗?

来自分类Dev

大整数隐式截断为无符号类型

来自分类Dev

乘以无符号的short是否会导致不确定的行为?

来自分类Dev

IA32汇编代码,用于从有符号/无符号字符到无符号/有符号整数的类型转换

来自分类Dev

无符号整数溢出

来自分类Dev

无符号整数的补码

来自分类Dev

无符号整数打印

来自分类Dev

C 无符号整数 + 整数

来自分类Dev

警告:有符号和无符号整数表达式之间的比较..如何解决?

来自分类Dev

指向无符号整数的无符号字符

来自分类Dev

无符号整数的整数除法,无溢出

来自分类Dev

JavaScript中是否存在整数类型?

来自分类Dev

在NASM中使用scanf将非整数输入无符号整数会导致循环问题

来自分类Dev

LibreOffice Basic是否可以使用无符号长类型?

来自分类Dev

是否定义了C#/。NET有符号整数溢出行为?

来自分类Dev

代表本机有符号和无符号整数大小的数据类型?

Related 相关文章

  1. 1

    是否将整数文字视为无符号?

  2. 2

    无符号整数类型是否总是大小不同?

  3. 3

    有符号整数类型及其对应的无符号整数类型

  4. 4

    从任何数字类型(无符号,整数,...)到双精度类型的隐式提升是否安全?

  5. 5

    获取最大的无符号整数类型

  6. 6

    扩展无符号整数类型的转换等级

  7. 7

    在 C# 中是否可以在没有类型转换的情况下将整数转换为无符号整数?

  8. 8

    是否存在GCC警告,可检测到有符号类型的移位操作?

  9. 9

    如何将整数类型转换为无符号类型?

  10. 10

    无符号整数类型样式的转换。这种风格好吗?

  11. 11

    强制转换隐式无符号整数类型?

  12. 12

    大整数隐式截断为无符号类型[-Woverflow]

  13. 13

    强制转换隐式无符号整数类型?

  14. 14

    无符号整数类型样式的转换。这种风格好吗?

  15. 15

    大整数隐式截断为无符号类型

  16. 16

    乘以无符号的short是否会导致不确定的行为?

  17. 17

    IA32汇编代码,用于从有符号/无符号字符到无符号/有符号整数的类型转换

  18. 18

    无符号整数溢出

  19. 19

    无符号整数的补码

  20. 20

    无符号整数打印

  21. 21

    C 无符号整数 + 整数

  22. 22

    警告:有符号和无符号整数表达式之间的比较..如何解决?

  23. 23

    指向无符号整数的无符号字符

  24. 24

    无符号整数的整数除法,无溢出

  25. 25

    JavaScript中是否存在整数类型?

  26. 26

    在NASM中使用scanf将非整数输入无符号整数会导致循环问题

  27. 27

    LibreOffice Basic是否可以使用无符号长类型?

  28. 28

    是否定义了C#/。NET有符号整数溢出行为?

  29. 29

    代表本机有符号和无符号整数大小的数据类型?

热门标签

归档