8位10進製數變成32進製數

2021-07-28 12:51:09 字數 1550 閱讀 3917

1、輸入乙個最大的數,確定需要的多少個32進製位

int getdigitnum32(unsigned int max)

return num;

}

2、無符號數轉換成字元

char* numtochar(unsigned int num, int base,char* buf, int max_digit)

else

}return buf;

}

3、數轉換成32進製的字串

char* numtochar32(unsigned int num,char* buf, int max_digit)

else

off += 5;

if(off >= 31)

off = 31;

} return buf;

}

4、32進製的字串轉換成數:

unsigned int char32tonum(char* str, int len)

else if((str[i] >= 'a' && str[i] <= 'v'))

else

}s = i;

if(s == len - 1)

return max_num;

num = 0;

for(i = s; i < len; i++)

else if(str[i] >= 'a' && str[i] <= 'v')

else

}return num;

}

win32下的測試**:

#include using namespace std;

int _tmain(int argc, _tchar* argv)

; char test[32] = ;

unsigned int num;

char* str;

int digit;

unsigned int max = atoi("99999999");

digit = getdigitnum32(max);

str = numtochar(max_test, 2,&test[0], 31);

num = char32tonum(str, strlen(str));

printf("hex = %x, 10 = %d, numtochar = %s\n", max_test, max_test, str);

printf("max = %s\n", str);

for(i = 0;i <= 99999999; i++) }

return 0;

}

測試過的最大數,

#define  max_num 0xffffffff

#define max_test 99999999

乙個簡單數字壓縮程式,就成了。

36進製數與10進製數互轉

10進製整數轉化成36進製字串 include stdafx.h include int main for i 0 num i for i i 0 i printf c a i 10 a i 0 a i 10 a printf n return 0 引數描述 hex10 被轉換10進製數字 測試方法...

進製轉化進10進製數

option explicit private sub form click dim st as integer,dem as long st inputbox 輸入乙個十六進製制數 dem convert st print st dem end sub private function conve...

10進製數轉換成2進製數

2.十進位制轉換成二進位制 演算法 利用while語句 當所輸入的數不為1時,執行while迴圈 在while迴圈中將輸入的數插入順序棧中 只支援整形資料 include using namespace std const int stacksize 10 class seqstack seqsta...