无符号1减无符号2结果是多少

无符号1减无符号2结果是多少

package main

import "fmt"

func main() {

	var a uint = 1
	var b uint = 2
	fmt.Println(a - b)
}

 

答案是unit的最大值

因为a-b的二进制结果是每位都是1,而无符号的最大值

 

另外,计算机不能识别有符号数和无符号,在内存中储存的都是补码,a-b实际是a的补码加b的补码

计算机如何识别有符号数和无符号数?

posted @ 2021-10-21 15:00  wahgon  阅读(280)  评论(0编辑  收藏  举报