当前位置:首页 > 编程学习 > C++实现十进制转换为二进制

C++实现十进制转换为二进制

编程学习2007-06-1754600

这个写得有些早了,学习c++是写的。
现在看到很多帖子问这个问题,把这个贴上来供大家参考下。


/*
* FileName: bin.cpp
*
* 转换十进制为二进制
*
* Apull
*  2005-12-2
*/
       
#include <iostream>
#include <cstdlib>
using namespace std;
       
const int size = sizeof(int) * 8;
       
char* itobin(char *p, int a)
{
    int count = 0, j;
    p += (size + 1);
    *p-- = '\0';
    while(a)
    {
        j = 1 & a;
        *p-- = j + '0';
        count++;
        if  (count >= size)
            break;
        a >>= 1;
    }
    return ++p;
}
       
int main(void)
{
    int num;
    char bin[size + 1], *p;
    cout  << "转换十进制为二进制\n输入整数:\n";
    while(cin >> num)
    {
        if (!num)
            break;
        else
            p = itobin(bin, num);
       
        cout <<  "Dec: " << num << "\tBin: " << p <<  endl << endl;
    }
    system("pause");
    return 0;
}




扫描二维码推送至手机访问。

版权声明:本文由海阔天空发布,如需转载请注明出处。

本文链接:https://apull.net/html/20070617224.html

标签: 编程
分享给朋友:

相关文章

VB获取光驱盘符

VB获取光驱盘符

VB获取光驱盘符Option Explicit Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _ (ByVal nDrive As String) As Long 'GetLogicalDriveStrings-->获取一个字串,其中包含了当前所有逻辑驱动器的根驱动器路径 Private Declare Function GetLogicalDriveStri...

MD5加密VB版

MD5加密VB版

'MD5加密VB版 '调用方法:str=MD5("Apull",32),就能得到"Apull"的32位的MD5。 Private m_lOnBits(30) Private m_l2Power(30) Private Const BITS_TO_A_BYTE = 8 Private Const BYTES_TO_A_WORD = 4 Private Const BITS_TO_A_WORD = 32 Private Fu...

VBScript 错误信息

VBScript 错误信息

错误代码 信息5 无效的过程调用或参数6 溢出7 内存不够9 下标越界10 数组长度固定或临时锁定11 被零除13 类型不匹配14 字符串空间溢出28 堆栈空间溢出35 Sub或Function未定义48 加载D...

计算机蓝屏代码的含义

计算机蓝屏代码的含义

0 0x0000 作业完成。1 0x0001 不正确的函数。2 0x0002 系统找不到指定的档案。3 0x0003 系统找不到指定的路径。4 0x0004 系统无法开启档案。5 0x0005 拒绝存取。6 0x0006 无效的代码。7 0x0007 储存体控制区块已毁。8 0x0008 储存体空间不足,无法处理这个指令。9 0x0009 储存体控制区块地址无效。10 0x000A 环境不正确。11 0x000B 尝试加载一个格式错误的程序。12 0x000C 存取码错误。1...