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;
    }

查看全文
  • 相关阅读:
    vim的script、function及command
    Vim中如何移动光标
    command模式下命令的匹配及help内容的搜索
    为什么vim编辑模式下ctrl-w可以前向删除单词及按键映射的展开
    gcc如何实现C++中函数auto返回类型推导
    sqlserver 列转行
    【java笔记】可变长参数(...)
    【c#笔记】可变长参数(params)
    【c#笔记】c#与java的差异:接口定义实现
    【java笔记】Calendar类的陷阱
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10783856.html
  • Copyright © 2011-2022 走看看