易学笔记-Go语言-第4章:基本结构和基本数据类型/4.5 基本类型/4.5.2 整形

  •  整形
  1. 固定字节数整形:与操作系统无关
    1. int 和 uint 在 32 位操作系统上,它们均使用 32 位(4 个字节),在 64 位操作系统上,它们均使用 64 位(8 个字节)。
    2. uintptr 存放指针
  2. 指定字节数整形
    1. int8:用8个位表示,负数最高位为1,正数最高位0,所以最小负数是2的8次方,也就是-128,最大正数是2的0次方、2的0次方。。。2的6次方之和,结果是127
    2. int16:用16个位表示,负数最高位为1,正数最高位0,同理可算范围是:-32768 -> 3276
    3. int32:用32个位表示,负数最高位为1,正数最高位0,同理可算范围是:-2,147,483,648 -> 2,147,483,647
    4. int64:用64个位表示,负数最高位为1,正数最高位0,同理可算范围是:-9,223,372,036,854,775,808 -> 9,223,372,036,854,775,807
  3. 无符号指定字节数整形
    1. uint8:最高1也表示是正数,所以最大值是2的8次方减去1,结果是255
    2. uint16:最高1也表示是正数,所以最大值是2的16次方减去1,结果是65535
    3. uint32:最高1也表示是正数,所以最大值是2的32次方减去1,结果是4294967295
    4. uint64:最高1也表示是正数,所以最大值是2的64次方减去1,结果是18446744073
  4. 整型运算
    1. 不同的整型类型不能运算
      1. 代码:
        var i1 int32 = 100
            var i2 int64 = 200
            //int32和int64不同类型
            fmt.Printf("i1+i2=%d\n", i1+i2)
      2. 结果输出:

        .\main.go:31:29: invalid operation: i1 + i2 (mismatched types int32 and int64)  编译报错说是不同类型

    2. 强制转换方可运算
      1. 代码:
        var i1 int32 = 100
        var i2 int64 = 200
        //int32和int64不同类型
        fmt.Printf("i1+i2=%d\n", int64(i1)+i2)
      2. 结果输出:

        i1+i2=300

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

易学笔记(qq:1776565180)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值