用C语言将十进制数转成十六进制数。如果有,最好是用简单的库函数实现 c语言中,怎么将十进制的整数转换成十六进制的数,不是简单的用...

\u7528C\u8bed\u8a00\u5c06\u5341\u8fdb\u5236\u6570\u8f6c\u6210\u5341\u516d\u8fdb\u5236\u6570, \u7528\u6309\u4f4d\u65b9\u6cd5

#include #include void F(int n){ if ( n ) { F(n/16); if (n%16 < 10) printf("%d",n%16); else printf("%c",(n%16)-10+'A'); }}int main(){ int num; scanf("%d",&num); F(num); return 0;}

#include

void main()
{
int n;
int i,j,r; // r: remainder;

char sn[16];
char temp;

cin >> n;


i = 0;
do
{
r = n % 16;
sn[i++] = r<10 ? r+'0' : r-10 + 'A';
} while ( n/=16 );

sn[i] = '\0';

for( j=0, i--; j<i; j++, i-- )
{
temp = sn[i];
sn[i] = sn[j];
sn[j] = temp;
}

cout << sn << '\n';
}

#include<stdio.h>
#include<string.h>
char trs(int i){
char c=0;
if(i/10)c=i+55;
else c=i+48;
return c;
}
main(){
char a[20];
long x,i,t,length;
scanf("%d",&x);
for(i=0;x!=0;){t=x&15;a[i++]=trs(t);x=x>>4;}
a[i]=0;
length=strlen(a);
printf("\n16进制数是:");
for(;length>=0;length--)printf("%c",a[length]);
}

#include <stdio.h>
main()
{
char s1[80],s2[80]; int i=250;

//方法1
sprintf(s1,"%x",i);
printf("s1=%s\n",s1);

//方法2
itoa(i,s2,16);
printf("s2=%s\n",s2);

}

可以用库函数sprintf啊,很简单的:

#include <stdio.h>

char* decimal_to_hex(int n)
{
static char buffer[32];
sprintf(buffer, "%#x", n);
return buffer;
}

int main()
{
int i;
for(i = 0; i < 16; ++i)
{
printf("%2d ---> ", i);
puts(decimal_to_hex(i));
}
return 0;
}

#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int len(long int a) //求对应的16进制数字的长度
{
return(log(a)/log(16)+1);
}
void hex(long int a,char *h) //转换,将结果存储在字符数组h中
{
int i;

*(h+len(a))='\0';
for (i=len(a)-1; i>=0; i--)
{
*(h+i)=a%16>10?a%16+55:a%16+48;
a/=16;
}

}
int main(int argc, char* argv[])
{
char *h;
long int a;
h=malloc(len(a)*sizeof(char));
scanf("%d",&a);
hex(a,h);
puts(h);
free(h);
system("pause");

return 0;
}

#include<stdio.h>
void main(){
int i;
scanf("%d",&i);
printf("%x",i);
}

  • C璇█涓鍗佽繘鍒惰浆鍖栦负鍗佸叚杩涘埗鐨勪唬鐮?
    绛旓細n=-n;} while(n!=0) {a[i++]=n%16; n=n/16; } printf("HEX=%cx",sign?'-':'');for(;i>0;i--) {switch(a[i-1]) {case 10: printf("a");break; case 11: printf("b");break; case 12: printf("c");break; case 13: printf("d"...
  • 鐢–璇█瀹炵幇:10杩涘埗杞崲16杩涘埗,骞跺皢16杩涘埗瀛樺湪涓涓瓧鑺備腑,濡備綍瀹炵幇...
    绛旓細鍏鎶10杩涘埗鍜16杩涘埗涓綅鏁板瓧瀵瑰簲鍏崇郴鍒楀嚭濡備笅锛0-0銆1-1銆2-2銆3-3銆4-4銆5-5銆6-6銆7-7銆8-8銆9-9銆10-A銆11-B銆12-C銆13-D銆14-E銆15-F 绠楁硶涓句緥濡備笅锛鍗佽繘鍒舵暟2500杞垚鍗佸叚杩涘埗鏁 绗竴姝ワ細2500闄や互16锛屽緱156 -- 浣欐暟4 绗簩姝ワ細鎶婄涓姝ョ殑鏁存暟缁撴灉156闄や互16锛 寰9 -- ...
  • C璇█ 鍗佽繘鍒惰浆鍗佸叚杩涘埗
    绛旓細=0){p=tmp&a;arr[i--]=str[p];tmp=tmp>>b;}printf("%d杞崲涓%d杩涘埗涓猴細",input,what);for(int j=i+1;j<32;j++)printf("%c",arr[j]);}int main(){while(1){printf("鍗佽繘鍒惰浆浜岃繘鍒--->2\n");printf("鍗佽繘鍒惰浆鍏繘鍒--->8\n");printf("鍗佽繘鍒惰浆鍗佸叚鍒--->16\n璇...
  • C璇█鎬庢牱鎶婂崄杩涘埗鏀鎴愬崄鍏繘鍒?
    绛旓細浣犲ソ锛歩nclude<stdio.h> include<stdlib.h> int main(){ int line=0;for(int i=32;i<127;i++){ line++;printf("%x\t",i);//鍦ㄦ牸寮忓寲涓 %x 琛ㄧず鎶婃暣鏁鎸鍗佸叚杩涘埗杈撳嚭 if(!(line%4))//姣忚緭鍑哄洓涓悗鎹㈣ puts("");} system("pause");//鏆傚仠浠ユ煡鐪嬭緭鍑虹獥鍙c倉 甯屾湜瀵逛綘鏈夊府鍔_...
  • C璇█璋冪敤鍑芥暟缂栧啓鎶婂崄杩涘埗鏁存暟n杞崲鎴愬崄鍏繘鍒鎬庝箞缂栫▼?
    绛旓細鎬濊矾锛鍗佽繘鍒舵暣鏁拌浆鎹负鍗佸叚杩涘埗鏁存暟閲囩敤"闄16鍙栦綑锛岄嗗簭鎺掑垪"娉曘傚叿浣撳仛娉曟槸锛氱敤16鏁撮櫎鍗佽繘鍒舵暣鏁帮紝鍙互寰楀埌涓涓晢鍜屼綑鏁帮紱鍐嶇敤16鍘婚櫎鍟嗭紝鍙堜細寰楀埌涓涓晢鍜屼綑鏁帮紝濡傛杩涜锛岀洿鍒板晢涓0鏃朵负姝紝鐒跺悗鎶婂厛寰楀埌鐨勪綑鏁颁綔涓哄崄鍏繘鍒舵暟鐨勪綆浣嶆湁鏁堜綅锛屽悗寰楀埌鐨勪綑鏁颁綔涓哄崄鍏繘鍒舵暟鐨勯珮浣嶆湁鏁堜綅锛屼緷娆℃帓鍒楄捣鏉ャ傚弬...
  • 鍦c璇█涓敤鏈绠鍗曠殑鏂规硶鎶婂崄杩涘埗杞寲涓哄崄鍏繘鍒
    绛旓細};printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒舵暣鏁锛"); scanf("%d",&num); while(num>0) { yushu=num%16; a[i++]=yushu; num=num/16; } printf("杞寲涓哄崄鍏繘鍒鐨勬暟涓猴細0x"); for(i=i-1;i>=0;i--)//鍊掑簭杈撳嚭 {m=a[i];printf("%c",hex[m]); } printf("\n"); }绋嬪簭杩愯缁撴灉锛...
  • C璇█涓敱鍗佽繘鍒鍚鍗佸叚杩涘埗鐨杞寲瑕佹庝箞鍋?
    绛旓細浣跨敤涓涓瓧绗︽暟缁 char ch[16] = "0123456789ABCDEF",int a = xxx%16锛沜h[a] 杩欎釜鏉ュ彇16杩涘埗鐨勫笺
  • 鐢–璇█缂栫▼濡備綍灏嗗崄杩涘埗杞崲鎴愬崄鍏繘鍒?
    绛旓細缁欎綘涓悇绉杩涘埗杞崲鐨勯氱敤鍑芥暟锛鍗佽繘鍒惰浆鍗佸叚杩涘埗锛宒1=10锛宒2=16 include <stdio.h> void conversion(char s[],char s2[],int d1,int d2){ // s[]锛氳浆鎹㈠墠鐨勬暟瀛 // s2[]锛氳浆鎹㈠悗鐨勬暟瀛 // d1锛氬師杩涘埗鏁 // d2锛氶渶瑕佽浆鎹㈠埌鐨勮繘鍒舵暟 // 楂樹簬9 鐨勪綅鏁扮敤澶у啓'A'锝'Z'琛ㄧず int...
  • 璇烽棶鐢–璇█缂栧啓涓涓鍗佽繘鍒惰浆鎹㈡垚浜岃繘鍒舵垨鍏繘鍒舵垨鍗佸叚杩涘埗鐨勭▼搴忛渶瑕...
    绛旓細include<stdio.h> voidmain(){ //杩涘埗杞崲鍑芥暟鐨勫0鏄 inttransfer(intx);intx;printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒舵暟:");scanf("%d",&x);printf("杞崲鎴浜岃繘鍒舵暟鏄:%d\n",transfer(x));} inttransfer(intx){ intp=1,y=0,yushu;while(1){ yushu=x%2;x/=2;y+=yushu*p;p*=10;if(x<2){...
  • 鐢╟璇█缂栧啓鍑芥暟,灏嗚緭鍏ョ殑鍗佽繘鍒舵暟杞崲鎴愬崄鍏繘鍒鏁板苟杈撳嚭
    绛旓細k; printf("Please enter a positive integer...\nn="); scanf("%d",&n); printf("%d(10) = 0x",n);if(n){for(i=0;(n&0xf0000000)==0;n<<=4,i++);for(;i<8;i++){k=n&0xf0000000;(k>>=28)&=0x0f;printf("%c",k<10 ? k+'0' : k+0x37)...
  • 本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网