- #include <iostream>
- #include <assert.h>
- using namespace std;
- typedef long long ll;
- char * itoa(int value,char *buf,int radix) {
- ll nvalue = value;
- int sign=0;
- if(value < 0) {
- sign = 1;
- nvalue = -value; //avoid overflow
- }
- int i=0;
- assert(buf!=NULL);
- while(value!=0){
- int digval = value%radix;
- value /= radix;
- if(digval>=10)
- buf[i++] = digval-10+'a';//多个十位的数字
- else
- buf[i++] = digval+'0';
- }
- buf[i]='\0';
- int j=i-1;
- i=0;
- while(i<j) { //反向
- int tmp = buf[i];
- buf[i] = buf[j];
- buf[j] = tmp;
- i++;
- j--;
- }
- return buf;
- }
- int main(){
- char res[20];
- itoa(123456,res,16);
- cout<<res<<endl;
- return 0;
- }
posted @
2014-08-20 18:10
purejade
阅读(
102)
评论()
收藏
举报