zoukankan      html  css  js  c++  java
  • C++进制转换问题

    写一个把10进制整数转化为16进制,10进制,8进制字符串的函数函数原形如下: void int_to_str(intvalue,char *buff,int flag);value 为整数变量,buff 为字符串指针,flag 用来表

    示8,10,16进制。

    具体实现代码如下:

    /*************************************************************
    写一个把10进制整数转化为16进制,10进制,8进制字符串的函数。
    函数原形如下:void int_to_str(int value,char *buff,int flag);
    value为整数变量,buff为字符串指针,flag用来表示8,10,16进制
    **************************************************************/
    #include<stdio.h>
    #include<string.h>
    #include<iostream>
    using namespace std;
    #define size 100
    void int_to_str(int value,char *buff,int flag);
    int main()
    {
        int num,c;
        char s[size]={0};
        cout<<"输入一个整数:";
        while(cin>>num)
        {
            cout<<"输入转换的进制:";
            cin>>c;
            while(c==8||c==10||c==16)
            {
                strcpy(s,"0");
                int_to_str(num,s,c);
                return 0;
            }
            cout<<"进制无效!"<<endl;
            return 0;
        }
        cout<<"输入值非法!"<<endl;
        return 0;
    }
    
    void int_to_str(int value,char *buff,int flag)    
    {
        int r,i,j;
        char ch;
        char *p=buff;
        int temp = value;
        while(value)
        {
            r = value % flag;
            value=value/flag;
            if(r<10)
            {
                *(p++)=('0' + r);
            }
            else
            {
                *(p++)=('A'+ r -10);
            }
        }
        //两个指针相减得到字符串的长度,包括
        i=p-buff;
        //交换字符串里的头尾每一个数值的顺序,得到正确结果
        for(j=0;j<(i+1)/2;j++)
        {
            ch=*(buff+j);
            *(buff+j)=*(p-1-j);
            *(p-1-j)=ch;
        }
        cout<<temp<<"转换为"<<flag<<"进制的结果是:"<<buff<<endl;
        return;
    }


  • 相关阅读:
    Swift学习——格式控制符和元组流程控制(二)
    boost::string 例题1
    钱币兑换问题
    我心目中的北京大学:从薛定格到王恩哥
    2.1-Java语言基础(keyword)
    【C语言天天练(十)】结构体
    JVM GC调优一则--增大Eden Space提高性能
    C++的一种业务分发方案(另类的工厂模式)
    Eclipse使用方法和技巧二十六:浅谈快捷键
    linux-shell脚本命令之grep
  • 原文地址:https://www.cnblogs.com/raiven2008/p/4260877.html
Copyright © 2011-2022 走看看