From 5563062616aaec3b57bd030162a96f2ba723f4a8 Mon Sep 17 00:00:00 2001 From: Shikong <919411476@qq.com> Date: Sun, 12 Sep 2021 20:27:52 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20Integer=20=E6=95=B4=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- base/integer/main.go | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 base/integer/main.go diff --git a/base/integer/main.go b/base/integer/main.go new file mode 100644 index 0000000..4110372 --- /dev/null +++ b/base/integer/main.go @@ -0,0 +1,67 @@ +package main + +import ( + "fmt" + "math" +) + +// uint 在 32位操作系统上为 uint32, 64位 则为 uint64 +// int 在 32位操作系统上为 int32, 64位 则为 int64 +// uintptr 无符号整型, 用于存放指针 + +func main() { + // 无符号 8位 整型 (0 ~ 255) + var ui8Min uint8 = 0 + var ui8Max uint8 = math.MaxUint8 + fmt.Printf("uint8 无符号 8位整型 min: %v, max: %v\n", ui8Min, ui8Max) + + // 无符号 16位 整型 (0 ~ 65535) + var ui16Min uint16 = 0 + var ui16Max uint16 = math.MaxUint16 + fmt.Printf("uint16 无符号 16位整型 min: %v, max: %v\n", ui16Min, ui16Max) + + // 无符号 32位 整型 (0 ~ 4294967295) + var ui32Min uint32 = 0 + var ui32Max uint32 = math.MaxUint32 + fmt.Printf("uint32 无符号 32位整型 min: %v, max: %v\n", ui32Min, ui32Max) + + // 无符号 64位 整型 (0 ~ 18446744073709551615) + var ui64Min uint64 = 0 + var ui64Max uint64 = math.MaxUint64 + fmt.Printf("uint64 无符号 64位整型 min: %v, max: %v\n", ui64Min, ui64Max) + + fmt.Println("=========================================================") + + // 有符号 8位整型 (-128 ~ 127) + var i8Min int8 = math.MinInt8 + var i8Max int8 = math.MaxInt8 + fmt.Printf("int8 有符号 8位整型 min: %v, max: %v\n", i8Min, i8Max) + + // 有符号 16位整型 (-32768 ~ 32767) + var i16Min int16 = math.MinInt16 + var i16Max int16 = math.MaxInt16 + fmt.Printf("int16 有符号 16位整型 min: %v, max: %v\n", i16Min, i16Max) + + // 有符号 32位整型 (-2147483648 ~ 2147483647) + var i32Min int32 = math.MinInt32 + var i32Max int32 = math.MaxInt32 + fmt.Printf("int32 有符号 32位整型 min: %v, max: %v\n", i32Min, i32Max) + + // 有符号 64位整型 (-9223372036854775808 ~ 9223372036854775807) + var i64Min int64 = math.MinInt64 + var i64Max int64 = math.MaxInt64 + fmt.Printf("int64 有符号 64位整型 min: %v, max: %v\n", i64Min, i64Max) + + fmt.Println("=========================================================") + + // golang 中 无法直接定义 二进制数 + // 十进制 + base := 10 + // 八进制 + base = 012 + // 十六进制 + base = 0xA + + // 输出时可用 %b %o %d %x 格式化输出 二、八、十、十六进制数 + fmt.Printf("二进制 => %b, 八进制 => %o, 十进制 => %d, 十六进制 => %x\n", base, base, base, base) +}