网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
04月26日漏签0天
c语言吧 关注:801,951贴子:4,377,583
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 6回复贴,共1页
<<返回c语言吧
>0< 加载中...

【位运算】一个小问题啦,帮帮忙拜托~

  • 取消只看楼主
  • 收藏

  • 回复
  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
原题如下:
write an expression that flips the left i bits, but the remaining bits unchanged.
要求:纯粹位运算,不许逻辑运算、算术运算夹杂其间。
在下的思路:
利用
0 ^ 0 = 0;
1 ^ 0 = 1;
1 ^ 1 = 0;
0 ^ 1 = 1;
构造前i个bit都是1后边都是0的数即可。
但是麻烦来了:如何构造?
在下的思路:~0000…0(i个0)1111…1即可得到。
但是,000……1111怎么得来呢?
如果用11111……111>>i,首位似乎会自动补1而不是0,那样便前功尽弃了。
有什么办法可以做到抹掉首位的1呢?
注意,不能用sizeof的哦~=w=
啊啊头要炸了。有没有前辈指点一二?


  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好久不问问题了撒,对了差点忘了要自顶自顶……不许沉不许沉……


2026-04-26 01:58:43
广告
不感兴趣
开通SVIP免广告
  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
人来啦,快来人啦,快急疯了,米娜桑也不希望吧里多一只疯子吧,所以酷爱来救我!酷爱啊啊啊啊啊啊啊……


  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗷呜~不要沉哦亲爱的帖子~


  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
米娜桑,最新的异想天开:
100000……01111111(就是处理的悲剧结果)
能不能用
11111……1100000……00(i个0)之类的拯救一下呢?
比如说他们^一下的话可以得到111……000……111,中间0对应的是【都是0】或者【都是1】状况,米娜桑看看这思路是不是有希望呢?


  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
此问题纠结死了我们一票同学……


  • patricia_xiao
  • 超能力者
    9
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
高手隐藏在各楼之中,楼主身为小弱各种受教,现决定奋发图强……下线码代码……
===============是的换句话说已经解决了======================


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 6回复贴,共1页
<<返回c语言吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示