为了账号安全,请及时绑定邮箱和手机立即绑定

十进制转二进制后去掉前导零(且只能通过& | ^ 移位)

十进制转二进制后去掉前导零(且只能通过& | ^ 移位)

C
慕的地8271018 2019-01-04 22:16:08
题目来源及自己的思路例如: 8=0000000000000000000000000000001000       只要1000   且且只能通过& | ^ 移位运算### 题目描述相关代码#include <iostream>using namespace std; {        int y;        cin >> y;    for (int i = sizeof(y) * 8 - 1; i >= 0; i--)         {            bool status = (y >> i) & 1;            cout << status;         }cout << endl;bool start = false;        for (int i = sizeof(y) * 8 - 1; i >= 0; i--)         {            bool status = (y >> i) & 1;            if (status && !start)                  start = true;            if (start)                  cout << status;         }     }你期待的结果是什么?实际看到的错误信息又是什么?数出到1后1 后面的零没有了 而且还多了一个零
查看完整描述

1 回答

?
慕标5832272

TA贡献1966条经验 获得超4个赞

先找出第一个1,记住位置,然后从这个位置走到最后,每次通过1左移对应的位置去&一下,决定输出0还是1

查看完整回答
反对 回复 2019-01-04
  • 1 回答
  • 0 关注
  • 814 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信