zoukankan      html  css  js  c++  java
  • 十进制转二进制-高速算法

    #include<iostream>
    #include<string>
    #include<algorithm>
    using namespace std;
    int main(int agrc, char *agrv[])
    {
    	int iInPut = 0;
    	while (cin >> iInPut)
    	{
    
    		string sBinary;//转换后的二进制存储为字符串,调用了默认构造函数初试化为空串
    		int temp = abs(iInPut);
    		if (temp == 0)
    		{	
    			//cout.width(11);//以11位的宽度右对齐输出
    			cout << "          0-->0
    ";
    			continue;
    		}
    
    		while (temp)
    		{
    			if (temp & 0x01)
    			{
    				sBinary += '1';
    			}
    			else
    			{
    				sBinary += '0';
    			}
    			temp >>= 1;//对正数右移,高位补0
    		}
    		reverse(sBinary.begin(), sBinary.end());
    		const char *cOutPut = sBinary.c_str();
    		cout.width(11);
    		cout << iInPut << (iInPut > 0 ? "-->" : "-->-") << cOutPut << endl;
    	}
    	return 0;
    }

查看全文
  • 相关阅读:
    debian的xfce内多余的菜单位置
    cocos2dx学习笔记之图片分辨率适配
    cocos2dx学习笔记之辅助工具
    cocos2dx游戏开发必备工具之PhysicsEditor【ZT】
    cocos2dx学习笔记之粒子效果
    mac下直接下载xcode的地址
    无需花生壳,dnspod实现ddns
    android和view相关的东西
    android的一些经典三方库
    简单工厂模式扩展工厂方法模式
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10783856.html
  • Copyright © 2011-2022 走看看