C语言编程:怎么把一个十进制数转换成为一个十六进制数? c语言编程 把十进制转换为十六进制

C\u8bed\u8a00\u7f16\u7a0b:\u600e\u4e48\u628a\u4e00\u4e2a\u5341\u8fdb\u5236\u6570\u8f6c\u6362\u6210\u4e3a\u4e00\u4e2a\u5341\u516d\u8fdb\u5236\u6570?

\u7b2c\u4e00\u79cd\uff1a\u7528\u6765\u7cca\u5f04\u8001\u5e08\u7684\uff0c\u8f93\u5165\u4e00\u4e2a\u6570\u91c7\u752816\u8fdb\u5236\u683c\u5f0f\u8f93\u51fa
#include

int main()
{
int num = 0;

scanf("%d", &num);
printf("%x", num);

return 0;
}

\u7b2c\u4e8c\u79cd\uff1a
#include
#include

char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};
void dToO(int, char*);

int main()
{
int dNum;
char oNum[100] = {0};

//\u8f93\u5165\u4e00\u4e2a\u5341\u8fdb\u5236\u6570
scanf("%d", &dNum);

//\u8c03\u7528\u8f6c\u6362\u51fd\u6570\uff0c\u5c06\u5341\u8fdb\u5236\u8f6c\u6362\u6210\u4ee5\u5b57\u7b26\u4e32\u8868\u793a\u7684\u5341\u516d\u8fdb\u5236
dToO(dNum, oNum);

//\u8f93\u51fa\u4ee5\u5b57\u7b26\u4e32\u8868\u793a\u768416\u8fdb\u5236\u6570\u636e
printf("%s\n", oNum);

return 0;
}

void dToO(int dNum, char* oNum)
{
char temp[100] = {0};

for (int i = 0; (dNum) && (i < 100) ; i++) {
temp[i] = (dNum % 16);
if (temp[i] > 9) {
temp[i] = oNumTable[temp[i] - 10];
}
else{
temp[i] += '0';
}
dNum /= 16;
}

char* p = temp;
while (*(p+1)) p++;

for (int i = 0; p != temp - 1; i++, p--) {
oNum[i] = *p;
}
}

\u65b9\u6cd5\u4e00\uff1a#include#include using namespace std;
string DecIntToHexStr(long long num){string str;long long Temp = num / 16;int left = num % 16;if (Temp > 0)str +=
DecIntToHexStr(Temp);if (left < 10)str += (left + '0');elsestr += ('A' + left - 10);return str;}string DecStrToHexStr(string str){long long Dec = 0;for (int i = 0; i < str.size(); ++i)Dec =
Dec * 10 + str[i] - '0';return DecIntToHexStr(Dec);}int main(){string DecStr;while (cin >> DecStr){cout << "0x" + DecStrToHexStr(DecStr);}return 0;}
\u65b9\u6cd5\u4e8c\uff1a
#include#include #include
#include #include using namespace std;int main()
{string decStr;cin >> decStr;int num = stoi(decStr);vectorv;while (num){int bit = num % 2;v.push_back(bit);num = num / 2;}
reverse(v.begin(), v.end());string hexStr;if (v.size() % 4 == 0){for (int i = 0; i < v.size() / 4; ++i){int temp = 0, k = 3;for (int j = i * 4; j < (i +
1) * 4; ++j){if (v[j] == 1)temp += pow(2, k);--k;} if (temp <= 9)hexStr += temp;elsehexStr += ('A' + temp - 10);}}
else{int zeroNum = 4 - v.size() % 4;for (int i = 0; i < zeroNum; ++i)v.insert(v.begin(), 0);for (int i = 0; i < v.size() / 4; ++i){int temp = 0, k = 3;for
(int j = i * 4; j < (i + 1) * 4; ++j){if (v[j] == 1)temp += pow(2, k);--k;}if (temp <= 9){stringstream ss;string strTemp;
ss > strTemp;hexStr += strTemp;}elsehexStr += ('A' + temp - 10);}}cout << hexStr << endl;return 0;}
\u6269\u5c55\u8d44\u6599\uff1a
\u8fd8\u67093\u79cd\u65b9\u5f0f\u53ef\u4ee5\u5b9e\u73b0\uff0c\u5176\u4e2d\u4e24\u79cd\u662f\u4f7f\u7528\u7cfb\u7edf\u51fd\u6570\uff0c\u53e6\u4e00\u79cd\u662f\u76f4\u63a5\u81ea\u5df1\u7f16\u5199\u3002
\u4e0b\u9762\u7684\u4ee3\u7801\u5c31\u662f3\u79cd\u65b9\u5f0f\u7684\u5b9e\u73b0\uff0c\u5305\u62ec2\u4f4d\u7684\u6574\u6570\u548c\u4efb\u610f\u6574\u6570\uff082\u768431\u6b21\u65b9\u4ee5\u5185\uff09\u90fd\u53ef\u4ee5\u3002\u53ef\u81ea\u5df1\u9009\u62e9\u9700\u8981\u7684\u5b9e\u73b0\u65b9\u5f0f\u3002
\u5229\u7528\u7cfb\u7edf\u51fd\u6570\u6709
1. char * itoa ( int value, char * str, int base );value\u662f\u8981\u8f6c\u5316\u7684\u6570\u5b57\uff0cstr\u662f\u8f6c\u5316\u540e\u7684\u5b57\u7b26\u4e32\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0cbase\u662f\u8fdb\u5236\u6570\uff08\u4f46\u662f\u8fd9\u4e2a\u51fd\u6570\u4e0d\u662f\u6807\u51c6C\u51fd\u6570\uff0c\u6709\u4e9b\u7f16\u8bd1\u5668\u662f\u4e0d\u652f\u6301\u7684\uff01\uff09\u3002\u6240\u4ee5\u4ee3\u7801\u53ef\u4ee5\u4e3a\uff1a
char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 char * inttohex(int aa){ itoa (aa, buffer, 16); return (buffer);}
2. sprintf(str,"%x",value);str\u662f\u8f6c\u5316\u5b58\u50a8\u7684\u4f4d\u7f6e\uff0c%x\u8868\u793a\u5341\u516d\u8fdb\u5236\u683c\u5f0f\uff0cvalue\u662f\u8981\u8f6c\u5316\u7684\u6570\u5b57\u3002\u6240\u4ee5\u4ee3\u7801\u53ef\u4ee5\u4e3a\uff1a
char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 char * inttohex(int aa){ sprintf(buffer, "%x", aa); return (buffer);}
3. \u81ea\u5df1\u7f16\u5199

\u5982\u679c\u53c2\u6570\u53ea\u8981\u4e24\u4f4d\u6570\u7684\u6574\u6570\uff0c\u90a3\u4e48\u5f88\u7b80\u5355\u3002
\u4ee3\u7801\u5982\u4e0b\uff1a
#include #include char buffer [33]; //\u7528\u4e8e\u5b58\u653e\u8f6c\u6362\u597d\u7684\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\uff0c\u53ef\u6839\u636e\u9700\u8981\u5b9a\u4e49\u957f\u5ea6 char * inttohex(int aa)
{ sprintf(buffer, "%x", aa); return (buffer);} int main ()
{ int num; char * hex_str; printf ("Enter a number: "); scanf ("%d",&num); hex_str = inttohex (num); printf ("Hexadecimal number: %sH\n", hex_str); return 0;}

第一种:用来糊弄老师的,输入一个数采用16进制格式输出
#include <stdio.h>

int main()
{
int num = 0;

scanf("%d", &num);
printf("%x", num);

return 0;
}

第二种:
#include <stdio.h>
#include <string.h>

char oNumTable[6] = {'A', 'B', 'C', 'D', 'E', 'F'};
void dToO(int, char*);

int main()
{
int dNum;
char oNum[100] = {0};

//输入一个十进制数
scanf("%d", &dNum);

//调用转换函数,将十进制转换成以字符串表示的十六进制
dToO(dNum, oNum);

//输出以字符串表示的16进制数据
printf("%s\n", oNum);

return 0;
}

void dToO(int dNum, char* oNum)
{
char temp[100] = {0};

for (int i = 0; (dNum) && (i < 100) ; i++) {
temp[i] = (dNum % 16);
if (temp[i] > 9) {
temp[i] = oNumTable[temp[i] - 10];
}
else{
temp[i] += '0';
}
dNum /= 16;
}

char* p = temp;
while (*(p+1)) p++;

for (int i = 0; p != temp - 1; i++, p--) {
oNum[i] = *p;
}
}

#include <stdio.h>
#include <string.h>
int main()
{
int i=0,p,n;
char b[10];
scanf("%d",&n);
while(n!=0)
{
p=n%16;
if(p>9) b[i++]='A'+p-10;
else b[i++]='0'+p;
n/=16;
}
b[i]='\0';
for(i=strlen(b)-1;i>=0;i--)
printf("%c",b[i]);
return 0;
}

  • 涓閬c璇█缂栫▼棰,灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細2013-08-23 甯垜瑙e喅涓閬揅璇█缂栫▼棰:灏嗕竴涓崄杩涘埗鏁杞寲涓轰簩杩涘埗鏁,缁熻... 1 2011-04-25 c璇█缂栫▼:鐢╢or璇彞灏嗗崄杩涘埗鏁拌浆鎹㈡垚浜岃繘鍒舵暟 6 2013-11-18 c璇█缂栫▼,濡備綍灏鍗佽繘鍒惰浆鍖栦负2杩涘埗 11 2014-06-13 c璇█鐢ㄩ掑綊娉曞皢鍗佽繘鍒惰浆鎹负浜岃繘鍒 29 鏇村...
  • 4銆C璇█缂栫▼:杈撳叆涓涓崄杩涘埗鏁,杈撳嚭瀵瑰簲鐨勪簩杩涘埗鏁.
    绛旓細include<stdio.h> void dec2bin(int x){if(x>1)dec2bin(x/2);printf("%d",x%2);} int main(){int x;scanf("%d",&x);dec2bin(x);return 0;}
  • c璇█缂栫▼ 浠庨敭鐩樿緭鍏涓涓崄杩涘埗姝f暣鏁,灏鍏惰浆鎹㈡垚浜岃嚦鍗佸叚浠绘剰杩涘埗鐨勬暟...
    绛旓細out[1] = 0;} else { for (n = 0; n < i/2; n++) { temp = out[n];out[n]=out[i - n - 1];out[i - n - 1] = temp;} } } int main(){ unsigned int d;char t[33];scanf_s("%u", &d);convert(d, 2, t);printf("浜杩涘埗锛%s\n", t);convert(d, 8,...
  • c璇█缂栫▼棰:浠庨敭鐩樿緭鍏涓涓崄杩涘埗鏁,灏鍏惰浆鎹负浜岃繘鍒躲佸叓杩涘埗鍜屽崄鍏...
    绛旓細if(S.top==-1)return 0; //鏍堢┖ else{ x=S.data[S.top];S.top--;return 1;} } void display(Stack &S){ int x;while(S.top!=-1){ pop(S,x);cout<<x<<' ';} cout<<endl;} //搴旂敤绋嬪簭 void func(int n,int m)//n涓鍗佽繘鍒舵暟锛宮涓2锛8锛屾垨16 { Stack S;InitStack...
  • 鐢c璇█鐨勫嚱鏁拌皟鐢濡備綍灏嗕竴涓崄杩涘埗鏁杞崲涓哄叓杩涘埗鏁?
    绛旓細1 - 鍗佽繘鍒杞簩杩涘埗锛2 - 鍗佽繘鍒惰浆鍏繘鍒讹紝3 - 鍗佽繘鍒惰浆鍗佸叚杩涘埗");\r\nscanf("%d",&select);\r\nswitch(select)\r\n{\r\ncase 1 : two(); break; //鍗佽繘鍒惰浆浜岃繘鍒禱r\ncase 2 : eight(); break; //鍗佽繘鍒惰浆鍏繘鍒禱r\ncase 3 : sixteen(); break; //鍗佽繘鍒惰浆鍗佸叚杩涘埗\...
  • 濡備綍鍒╃敤c璇█缂栧啓绋嬪簭灏嗕竴涓崄杩涘埗鏁杞崲涓轰簩杩涘埗?
    绛旓細缃戜笂鐪嬩簡寰堝锛屼笅闈㈣繖涓渶璧 include<stdio.h> void showbit(int n){ if(n>1){ showbit(n/2);printf(" ");} printf("%d",n%2);} int main{ int a;printf("input a num:");scanf("%d",&a);showbit(a);printf("\n");} 鍙傝冮噷闈㈣繕鏈夊叾浠栬繘浣嶅埗鐨勮浆鎹紝閮芥槸鍒╃敤杩唬绠楁硶 鍙...
  • 鎬庢牱鐢C璇█缂栧啓涓涓绋嬪簭灏嗚緭鍏ョ殑鍗佽繘鍒舵暟杞寲鎴16杩涘埗?
    绛旓細浣犲彲浠ヨ缃涓涓瀛楃涓叉暟缁 char HEX[16]= {'0','1','2',3','4','5','6','7','8','9','A','B','C','D','E','F'} 浠ュ悗浣犲緱鍑鐨勬暟瀛锛屾瘮濡備綑鏁皔鏄10,閭d箞HEX[y]鎵撳嵃鍑烘潵灏辨槸A浜 渚嬪瓙锛堢幇鍐欑殑锛塱nt now;int res[100];//绛旀 int c = 0;//浣嶆暟 杈撳叆鍒皀ow;while...
  • c璇█涓濡備綍鎻愬彇鍗佽繘鍒舵暟?
    绛旓細unsigned int number; /* 浠h〃閭d釜涓変綅鏁 */ unsigned char ge,shi,bai; /* 浠h〃鎻愬彇缁撴灉锛氫釜锛屽崄锛岀櫨 */ ge = (unsigned char)(number%10);shi = (unsigned char)((number/10)%10);bai = (unsigned char)((number/100)%10);
  • 鐢c璇█缂栫▼鎶婁竴涓崄杩涘埗鏁杞寲涓哄叓杩涘埗鏁
    绛旓細鍏灏嗗崄杩涘埗鏁杞崲涓轰簩杩涘埗鏁,鐒跺悗灏辨槸浠庝綆浣嶅紑濮,姣忎笁浣嶅搴涓浣,涓嶈冻琛0 姣斿-32鐨勪唬鐮佹槸10101110(闅忎究鍐欑殑)杞崲涔嬪悗灏辨槸256,鍓嶉潰涓涓涓嶈冻涓変綅,鍦ㄦ渶鍓嶉潰琛0 010 101 110 2 5 6
  • 鐢ㄦ爤瀹炵幇,杈撳叆涓涓崄杩涘埗鏁,杞崲鎴愬崄鍏繘鍒惰緭鍑(C璇█)
    绛旓細2銆佺劧鍚庡湪璇ョ晫闈腑锛屽厛瀹氫箟鏍堟渶澶х殑瀛樺偍绌洪棿銆2銆佸叾娆″湪璇ョ晫闈腑锛岀紪鍐欏垵濮嬪寲绌烘爤鍑芥暟浠g爜銆3銆佷箣鍚庡湪璇ョ晫闈腑锛岀紪鍐欏垽鏂┖鏍堝嚱鏁颁唬鐮併4銆佹帴鐫鍦ㄨ鐣岄潰涓紝缂栧啓鍒ゆ柇鏍堟弧鍑芥暟浠g爜銆5銆佸叾娆″湪璇ョ晫闈腑锛岀紪鍐欒繘鏍堛佸嚭鏍堝嚱鏁颁唬鐮併6銆佹帴鐫鍦ㄨ鐣岄潰涓紝缂栧啓杩涘埗杞寲鍑芥暟浠g爜銆7銆佷箣鍚庡湪璇ョ晫闈腑锛岀紪鍐...
  • 扩展阅读:学编程一年大概多少钱 ... 初学编程必背50个 ... c人教程视频 ... c++编程适合几岁学 ... c十十编程要学多久 ... 编程一般要学多久 ... c++编程入门自学 ... c++入门程序代码 ... 小学生学python还是c++ ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网