userid := 12345
did := (userid & ^(0xFFFF << 48))

when compiling this code, I got:

./xxxx.go:511: constant -18446462598732840961 overflows int

Do you know what is the matter with this and how to solve it ? Thanks.