uint 与 int 的区别 (golang语言)

mokt2001 · · 11654 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

上面是图,下面是源码:

package main

import (
	"fmt"
	_ "time"
)

func main() {
	a := byte(255)  //11111111 这是byte的极限, 因为 a := byte(256)//越界报错, 0~255正好256个数,不能再高了
	b := uint8(255) //11111111 这是uint8的极限,因为 c := uint8(256)//越界报错,0~255正好256个数,不能再高了
	c := int8(127)  //01111111 这是int8的极限, 因为 b := int8(128)//越界报错, 0~127正好128个数,所以int8的极限只是256的一半
	d := int8(a)    //11111111 打印出来则是-0000001,int8(128)、int8(255)、int8(byte(255))都报错越界,因为int极限是127,但是却可以写:int8(a),第一位拿来当符号了
	e := int8(c)    //01111111 打印出来还是01111111

	fmt.Printf("%08b %d \n", a, a)
	fmt.Printf("%08b %d \n", b, b)
	fmt.Printf("%08b %d \n", c, c)
	fmt.Printf("%08b %d \n", d, d)
	fmt.Printf("%08b %d \n", e, e)
}


有疑问加站长微信联系

本文来自:CSDN博客

感谢作者:mokt2001

查看原文:uint 与 int 的区别 (golang语言)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:812540095

11654 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传