文章

23

粉丝

0

获赞

123

访问

3.6k

头像
负二进制 题解:余数为-1,怎么写对应的二进制字符串?
P1097
发布于2026年3月13日 12:47
阅读数 223

-3➗-2=1...-1,也就是-3=(-2)*1+(-1)=(-2)*2+1;

也就是说,-3可由1个-2和一个-1组成,转换成-3可由2个-2和一个1组成,即-3➗-2=2...1;

将转换后的1看做余数,再将2当作下次操作的除数。

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int m;
    while(cin>>m)
    {
        string s;
        int x;
        if(m==0)
        {
            cout<<"0"<<endl;
            continue;
        }
        while(m!=0)
        {
            x=m%(-2);
            m/=(-2);
            if(x==1) s+='1';
            if(x==0) s+='0';
            if(x==-1)
            {
 ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发