CAPL中有符号和无符号数据类型的若干问题

我们知道CAPL中的整数类型分为:无符号(unsigned)和有符号(signed)。

无符号类型有:

  • byte (unsigned, 1 Byte)
  • word (unsigned, 2 Byte)
  • dword (unsigned, 4 Byte)
  • qword(unsigned, 8 Byte)

有符号类型有:

  • int (signed, 2 Byte)
  • long (signed, 4 Byte)
  • int64(signed, 8 Byte)

什么是符号?这里的符号指的是正数和负数上的"+/-“号。我们知道,一般正数我们默认不写”+"号,可以认为它就是一个无符号的数。所以对于无符号类型来说,只能存储正数。而有符号类型,既可以存储正数,也可以存储负数。

word类型

int类型

可以看到:当一个负数赋值给word无符号类型的变量时,提示超出范围。而int有符号类型的变量可以存储负数。

虽然提示超出范围,但并不是语法错误,所以还是可以赋值,我们打印看看赋值后的变量a的值为:

on key

你可能感兴趣的:(【付费专栏】CAPL编程语言,CAPL)