golang变量uint、int大小溢出后的结果方式
目录
- golang变量uint、int大小溢出后的结果
- golang中变量的大小溢出会是什么结果呢?
- 这段代码的结果js是什么呢?
- 其它类型和此情况类似
- 总结
golang变量uint、int大小溢出后的结果
golang中变量的大小溢出会是什么结果呢?
// uint8的取值范围: 0 - 255 pythonvar a uint8 = 1 var b uint8 = 255 fmt.Println("减法:", a-b)
这段代码的结果是什么呢?
很明显uint8的取值范围是0-255之间,此时已经超出范围了,那么超出后的结果是什么呢?
0或者0报错?
我也不知道,一起来看看最后的结果是怎样?
package main import "fmt" //两个uint类型的数字相减后小于0 func main() { var a uint8 = 1 var b uint8 = 255 fmt.Println("减法:", a-b) fmt.Println("加法:", a+b) fmt.Println("乘法:", a*b) // 结果为: // 减法: 2 // 加法: 0 // 乘法: 255 }
其www.devze.com它类型和此情况类似
例如int64:
package main import "fmt" // int64 Range: -9223372036854775808 through 9223372036854775807. func main() { var a int64 = -8223372036854775807 var b int64 = 92www.devze.com23372036854775807 fmt.Println("减法:", a-b) fmtwww.devze.com.Println("乘法:", a*b) // 结果为: // 减法: 1000000000000000002 // 乘法: -1000000000000000001 }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论