请教返回补数的问题

happywork8 2013-03-03 05:15:33
declare @xxx int
set @xxx=~5
select @xxx

为什么返回的是-6,能否详细的说说?
谢谢!
...全文
283 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
~只是按位取反运算符,并不是什么补码
happywork8 2013-03-03
  • 打赏
  • 举报
回复
引用 3 楼 tanleittl 的回复:
~只是按位取反,并不是取补码
难道是教材上有误,还是我理解错误了? 教材上指出,一元运算符 ~ 返回数字的补数 这里的补数指的就是按位取反吗??
DBA_磊仔 2013-03-03
  • 打赏
  • 举报
回复
~只是按位取反,并不是取补码
happywork8 2013-03-03
  • 打赏
  • 举报
回复
引用 1 楼 hjywyj 的回复:
5的二进制是 00000000000000000000000000000101 取反后二进制是11111111111111111111111111111010 转为十进制为-6
正数的补码不是其本身吗?
  • 打赏
  • 举报
回复
5的二进制是 00000000000000000000000000000101 取反后二进制是11111111111111111111111111111010 转为十进制为-6

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧