这是一个关于C语言的问题,赋值问题,如果unsigned int 是65535,那么int是多少
这是一个关于C语言的问题,赋值问题,如果unsigned int 是65535,那么int是多少
日期:2021-06-10 05:09:48 人气:1
是-1
因为65535对应的二进制数是1111111111111111, 而这正是有符号数-1 的补码, 所以是-1
BTW: 一个负数的补码, 是它对应的正数的补码按位取反并在末位加1.
求-1的补码, 先看正1的补码
正1的二进制数是0000000000000001, 它的补码是
1111111111111110, 然后末位加1, 就变成了1111111111111111, 就是-1的补码.
因为65535对应的二进制数是1111111111111111, 而这正是有符号数-1 的补码, 所以是-1
BTW: 一个负数的补码, 是它对应的正数的补码按位取反并在末位加1.
求-1的补码, 先看正1的补码
正1的二进制数是0000000000000001, 它的补码是
1111111111111110, 然后末位加1, 就变成了1111111111111111, 就是-1的补码.