题目描述

由于缺乏数学经验,奶牛想建立一个计算机器(它被称为Cowmpouter),使用二进制数字(基数为2),但它是建立在-2的基础上。他们非常高兴,因为在-2进制表示的数字中不需要符号位。
你知道基数的权值都是从1开始的(0位),然后从右到左依次为基数1次方,基数2次方等等。在-2进制中,其权值从右到左,依次为1,-2,4,-8,16,-32,…。因此,从1计数依次是:1,110,111,100,101,11010,11011,11000,11001等等。
很怪异的是,负数也那个用1和0表示,但没有符号位。从-1向下计数依次为:11,10,1101,1100,1111等等。
请帮助奶牛把普通的十进制整数(范围为:-2,000,000,000到2,000,000,000)转换为-2进制对应的数。

输入

输入只有一行,一个需要转换为-2进制的十进制整数。

输出

对应的-2进制的数,没有前导0,0就表示0本身,只用1个0。

样例输入 复制

-13

样例输出 复制

110111
#include <iostream>
#include <math.h>
#include <string>
#include <string.h>
#include <algorithm>using namespace std;int count(int num)
{int count = 0;while (num != 0){num /= 10;count++;}return count;
}string myStrrev(string str,int n)
{string ans = "";for (int i = 0;i < n;i++){ans += str[n - i - 1];}return ans;
}int mySize(string str)
{int i = 0;for (i = 0;i < 100; i++){if (str[i] == '\0')break;}return i;
}string tenToMTwo(int num)
{string ans;char x;int count = 0;while (1){if (num > 0){x = num % -2 + '0';num /= -2;ans.push_back(x);count++;}else{x = -num % 2 + '0';num = (num - 1) / -2;ans.push_back(x);count++;}if (num == 0)break;}return myStrrev(ans,count);
}void Cowmpouter()
{int num;cin >> num;cout << tenToMTwo(num);
}
int main()
{Cowmpouter();return 0;
}

1147: 5005 奶牛计算器(-2进制)相关推荐

  1. c语言中的16进制坐标计算器,十六进制计算器_16进制计算器

    16进制计算器 开始--所有程序--附件--计算器 电脑计算器16进制转换10进制怎么用 在电脑自带的计算器中启用"程序员"设置,即可进行16进制转换10进制的操作.具体操作请参照 ...

  2. Qt多功能计算器(三)——进制转换

    项目介绍 本篇文章的内容是计算器的第三个功能--进制转换,这个功能相比上一个功能--三角函数的实现略微困难一些.程序的逻辑从理论上说只要修改界面和部分槽函数就可以实现2-36任意进制互相转换,这里只实 ...

  3. MFC计算器项目——进制转换模块

    计算器进制转换模块(运行效果图参见计算器项目综述) 开发文档截图 该模块实现了2进制到36进制之间的任意转换,可能有人会问为什么是2到32进制之间呢?这个36是怎么来的呢? 这个是因为超出36后字母表 ...

  4. 全国计算机考试进制计算器吗,进制数换算器(十六进制计算器在线)

    求任意进制数之间相互转换的通用方法. 尤其是二进制八进制十进制和十六进. 一个八进制等于三位二进制.一个十六进制等于四位二进制.直接数位数! 请各位多举几个例子吧? (一).二进制.八进制.十六进制转 ...

  5. php实现进制转换计算器,PHP进制相互转换计算实现步骤

    这次给大家带来PHP进制相互转换计算实现步骤,PHP进制相互转换计算实现的注意事项有哪些,下面就是实战案例,一起来看一下. 进制转换器 $n1=$n2=""; if($_POST) ...

  6. win10怎么用计算机算进制,Win10系统计算器如何转换进制-win10系统下各进制转换的方法 - 河东软件园...

    在我们日常的学习与工作中,常常需要对数据进行各类进制的转换,从而帮助用户处理数据,而绝大多数用户一般都会选择通过第三方的转换工具来实现进制转换,其实,在win10系统的计算器中就为用户提供了这项功能, ...

  7. linux系统计算器工具,Linux工具之bc计算器进制的转换

    bc是Linux下的命令行式的计算器. 题目虽然叫任意进制,但是因为bc的限制,输入进制是216范围:输出进制是2999范围.这与常见计算器的进制范围是一致的,比如windows计算器最高也只能处理1 ...

  8. 怎么用html做进制转换器,怎样用电脑自带计算器进行进制之间的转换

    电脑自带的计算器怎么使用16进制转换等功能 电脑自带的计算器怎么使用16进制转换等功能打开电脑的计算器,上中的位置有个查看,点下去选择科学型,计算器界面就变了.再选择十六进制,输入要转换的十六进制数据 ...

  9. C语言初阶:进制,计算机的美丽语言

    文章目录 1. 进制是什么 2. 进制的转换 3. 计算机自己的想法 4. C语言中的进制 1. 进制是什么 进制也就是进位计数制 基数与权: 二进制中0和1就是基数,2的次方数就是权,也就是位数 2 ...

最新文章

  1. 桌面上的计算机打开速度慢,电脑开机进入桌面特别慢
  2. 错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  3. RESTful API 编写规范
  4. 二维的完整形式是什么?
  5. python创建多线程_初学者看过来:Python中多线程和多处理的指南
  6. 扩展Python模块系列(二)----一个简单的例子
  7. SkinSharp用法
  8. c++ 第五次作业(计算器第三步)
  9. POJ3753 根据关键字进行字符串拷贝【文本处理】
  10. 语音识别实验报告.docx
  11. python 图像检索_深度学习图像检索
  12. 是香蕉还是芭蕉,芭蕉和香蕉的区别
  13. 一文读懂JPEG算法!附C++代码实现JPEG算法,实现从BMP到JPEG转换!
  14. 计算机科学和热力学,相图热力学数据库及其计算软件: 过去、现在和将来
  15. Android SVG图片解析Demo
  16. linux服务器被攻击怎么办
  17. rtl8188linux内核配置,Embeded linux之RTL8188EU/RTL8188ETV使用
  18. 适合普通人的108个短视频项目:不用出镜也能赚钱的手机摄影玩法(3)
  19. 嵌入式开发工具介绍与下载
  20. 他写代码如入定,人称阿里“扫地僧,java自学教程百度云

热门文章

  1. FlowChart.NET使用教程:加载图形数据和创建图形对象
  2. RUP和RMC的区别
  3. 虚拟主机解压/压缩功能说明
  4. getchar 和 putchar
  5. 计算机二级Web(1):Web技术基础
  6. oracle小数点后面的尾数,float和double的精度
  7. SwiftUI内功之 Closesure和escaping是什么有什么用
  8. 星球大战尤达(Baby Yoda)
  9. 【ASP.NET】——ADO.NET
  10. Java的“一次编写,处处运行”是如何实现的?