请问 4294967295 << 32 为何还是 4294967295 而不是 0?

Triumph 2023-05-10 10:37:40

请教个基础问题

4294967295 的二进制是 32 个 1:11111111111111111111111111111111

左移 31 位,4294967295 << 31,结果是 10000000000000000000000000000000,这个没问题

但左移 32 位后,结果是 11111111111111111111111111111111

使用 ((uint)4294967295) << 32 依然如此

请问这是什么原理?

...全文
135 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSDN-Ada助手 2023-05-10
精选
  • 打赏
  • 举报
回复
您的问题已经帮您同步至问答, 链接: https://ask.csdn.net/questions/7941608, 请您保持关注, 如果回答有帮助解决此问题, 麻烦您动动小手给相关的回答点赞, Ada会在评论区为您更新结题状态

111,101

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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