4-4 Go语言-整数类型值的表示法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

Go语言-整数类型值的表示法

    我们已经知道了每个整数类型的宽度,那么它们的宽度意味着什么呢?下面这张表已有所描述。


  
  如上所示,类型int8的数值表示范围为[-128,127],而类型uint16的数值表示范围为[0,65535],等等。
  
    以我们的常识知道,在数学中整数一般是以10进制来表示的,而在计算机中整数则必是以2进制来表示和存储的。当然,在计算机科学领域,整数的表示形式还包括了8进制16进制。下面我们就来说说怎样这几种表示法在Go语言中表示整数。
  
    最显而易见的是10进制表示法。如果我们要在声明一个名为num1int类型变量时给它赋予12这个值,那么这样书写即可:

var num1 int = 12

    这是最容易被我们理解的方式了。不过,如果我们要分别以8进制16进制为变量num1赋值,那么需要:

num1 = 014 // 用“0”作为前缀以表明这是8进制表示法。

或:

num1 = 0xC // 用“0x”作为前缀以表明这是16进制表示法。

(注意,为已声明的变量赋值,无需再在等号左边加入关键字var和变量类型)
  
 

任务

    请在命令源码文件index.go的第12行的内层括号中填入变量num1的值的10进制表示。

  1. package main
  2.  
  3. import (
  4. "fmt"
  5. )
  6.  
  7. func main() {
  8. // 声明一个整数类型变量并赋值
  9. var num1 int = -0x1000
  10.  
  11. // 这里用到了字符串格式化函数。其中,%X用于以16进制显示整数类型值,%d用于以10进制显示整数类型值。
  12. fmt.Printf("16进制数 %X 表示的是 %d。\n", num1, ( ))
  13. }
下一节