我们已经知道了每个整数类型的宽度,那么它们的宽度意味着什么呢?下面这张表已有所描述。
如上所示,类型int8
的数值表示范围为[-128,127],而类型uint16
的数值表示范围为[0,65535],等等。
以我们的常识知道,在数学中整数一般是以10进制来表示的,而在计算机中整数则必是以2进制来表示和存储的。当然,在计算机科学领域,整数的表示形式还包括了8进制和16进制。下面我们就来说说怎样这几种表示法在Go语言中表示整数。
最显而易见的是10进制表示法。如果我们要在声明一个名为num1
的int
类型变量时给它赋予12
这个值,那么这样书写即可:
var num1 int = 12
这是最容易被我们理解的方式了。不过,如果我们要分别以8进制和16进制为变量num1
赋值,那么需要:
num1 = 014 // 用“0”作为前缀以表明这是8进制表示法。
或:
num1 = 0xC // 用“0x”作为前缀以表明这是16进制表示法。
(注意,为已声明的变量赋值,无需再在等号左边加入关键字var
和变量类型)
请在命令源码文件index.go的第12行的内层括号中填入变量num1
的值的10进制表示。
package main import ( "fmt" ) func main() { // 声明一个整数类型变量并赋值 var num1 int = -0x1000 // 这里用到了字符串格式化函数。其中,%X用于以16进制显示整数类型值,%d用于以10进制显示整数类型值。 fmt.Printf("16进制数 %X 表示的是 %d。\n", num1, ( )) }