C语言编程.将十进制数107转换成十六进制数,我是初学者,请编的稍微简单一点 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;
}
}

/* \u51fd\u6570trans\u5c06\u65e0\u7b26\u53f7\u6574\u6570n\u7ffb\u8bd1\u6210d\uff082<\uff1dd<\uff1d16\uff09\u8fdb\u5236\u8868\u793a\u7684\u5b57\u7b26\u4e32s */
#include
#include
#include

#define M sizeof(unsigned int)*8

int trans(unsigned n, int d, char s[])
{
static char digits[] ="0123456789ABCDEF"; /* \u5341\u516d\u8fdb\u5236\u6570\u5b57\u7684\u5b57\u7b26 */
char buf[M+1];
int j, i = M;
if(d16)
{
s[0]='\0'; /* \u4e0d\u5408\u7406\u7684\u8fdb\u5236\uff0c\u7f6es\u4e3a\u7a7a\u5b57\u7b26\u4e32 */
return 0; /* \u4e0d\u5408\u7406\u7684\u8fdb\u5236\uff0c\u51fd\u6570\u8fd4\u56de0 */
}
buf[i]='\0';
do
{
buf[--i]=digits[n%d]; /*\u8bd1\u51fa\u6700\u4f4e\u4f4d\uff0c\u5bf9\u5e94\u5b57\u7b26\u5b58\u5165\u5bf9\u5e94\u5de5\u4f5c\u6570\u7ec4\u4e2d*/
n/=d;
}while(n);
/* \u5c06\u8bd1\u51fa\u5728\u5de5\u4f5c\u6570\u7ec4\u4e2d\u7684\u5b57\u7b26\u4e32\u590d\u5236\u5230s */
for(j=0;(s[j]=buf[i])!='\0';j++,i++);
/* \u5176\u4e2d\u63a7\u5236\u6761\u4ef6\u53ef\u7b80\u5199\u6210s[j]=buf[i] */
return j;
}
/* \u4e3b\u51fd\u6570\u7528\u4e8e\u6d4b\u8bd5\u51fd\u6570 trans() */
int main()
{
unsigned int num = 253;
int scale[]={2,3,10,16,1};
char str[33];
int i;
system("cls");
for(i=0;i<sizeof(scale)/sizeof(scale[0]);i++)
{
if(trans(num,scale[i],str))
printf("%5d = %s(%d)\n",num,str,scale[i]);
else
printf("%5d => (%d) Error! \n",num,scale[i]);
}
printf("\n Press any key to quit...\n");
getch();
return 0;
}

\u9002\u5f53\u4fee\u6539\u4e0b

107/16商6余11(B)
6/16商0余6
所以十进制的107转化成16进制就是6B(十六进制的写法0x6B)

这个比较简单把,如果你要直接输入的话 使用%x就可以了
例如:
int x = 107;

printf("%x",x);

107/16商6余11(B)
6/16商0余6
所以十进制的107转化成16进制就是6B(十六进制的写法0x6B)

%x, %X 无符号以十六进制表示的整数

语句例子就是: printf("%02X",num); /*输出2位16进制的num*/

int x ;
送餐费(“%d”,&x);
printf("%x",x);

  • C璇█缂栫▼.灏嗗崄杩涘埗鏁107杞崲鎴愬崄鍏繘鍒舵暟,鎴戞槸鍒濆鑰,璇风紪鐨勭◢寰畝鍗...
    绛旓細鎵浠鍗佽繘鍒鐨107杞寲鎴16杩涘埗灏辨槸6B(鍗佸叚杩涘埗鐨勫啓娉0x6B)
  • 鐢c璇█缂栧啓鍑芥暟,灏嗚緭鍏ョ殑鍗佽繘鍒舵暟杞崲鎴愬崄鍏繘鍒舵暟骞惰緭鍑
    绛旓細for(;i<8;i++){k=n&0xf0000000;(k>>=28)&=0x0f;printf("%c",k<10 ? k+'0' : k+0x37)
  • C璇█缂栫▼:鎬庝箞鎶婁竴涓鍗佽繘鍒舵暟杞崲鎴愪负涓涓崄鍏繘鍒舵暟?
    绛旓細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);//杈撳嚭浠ュ瓧绗︿覆琛ㄧず鐨1...
  • C璇█缂栧啓涓涓嚱鏁灏嗗崄杩涘埗杞崲
    绛旓細int a,n;printf("杈撳叆涓涓暣鏁癨n");scanf("%d",&a);printf("杈撳叆瑕佽浆鎹㈢殑杩涘埗\n");scanf("%d",&n);P(a,n);return 0;}
  • 涓閬c璇█缂栫▼棰,灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細/*2銆缂栫▼瀹炵幇灏浠绘剰鐨鍗佽繘鍒舵暣鏁杞崲鎴怰杩涘埗鏁(R鍦2-16涔嬮棿)銆*/ #include <stdio.h> int a[8]; int main() { int n,j; void binary(int n); printf("please input the number:"); scanf("%d",&n); printf("the number you want to transform:"); scanf("%... 灞曞紑 demax...
  • c璇█,姹傚皢涓涓鍗佽繘鍒鐨鏁拌浆鍖涓轰竴涓换鎰忚繘鍒剁殑鏁般傛眰瑙e喅鎴戠殑绋嬪簭鐨...
    绛旓細struct node { int data;struct node*link;};struct node*top=NULL;void jinzhizuanhuan(int,int);void display();void main(){ int a,b;printf("璇疯緭鍏ヤ綘鎯宠杞崲鐨勬暟(鍗佽繘鍒):");scanf("%d",&a);for(;;){ printf("瑕佽浆鎹㈢殑杩涘埗(澶т簬1鐨鏁存暟):");scanf("%d",&b);if(b>1)//...
  • 鐢C璇█缂栫▼:灏嗕换鎰忎竴涓鍗佽繘鍒舵暟杞崲鎴愪簩杩涘埗鏁板摝,鎸変綅瀛樻斁鍒版暟缁勪腑_鐧...
    绛旓細void main(void){ int nDec,nArry[33]={NULL,},x=0;;unsigned i;printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒舵暣鏁...\n杈撳叆鐨勬暣鏁版槸:nDec=");scanf("%d",&nDec);printf("瀵瑰簲鐨勪簩杩涘埗鏄:");if(!nDec) printf("%d",*nArry=0);else{ for(i=0x80000000;!(i&nDec);i>>=1);for(;i;i>>=1)print...
  • 涓閬c璇█缂栫▼棰,灏嗗崄杩涘埗杞崲涓轰簩杩涘埗
    绛旓細3銆佽緭鍏鍗佽繘鍒舵暟锛歱rintf("璇疯緭鍏ヤ竴涓崄杩涘埗鏁(0~32767):\n");scanf("%d", &n);/*杈撳叆n鐨勫*/銆4銆佽绠椾簩杩涘埗鏁帮細for (m = 0; m < 15; m++)/*for寰幆浠0鍒14锛屾渶楂樹负绗﹀彿浣嶏紝鏈濮嬬粓涓0*/{i = n % 2;/*鍙2鐨勪綑鏁*/j = n / 2;/*鍙栬2鏁撮櫎鐨勭粨鏋*/n = j;/*...
  • c璇█鎬庝箞灏嗗崄杩涘埗杞寲鎴愪簩杩涘埗
    绛旓細int transfer(int x);int x;printf("璇疯緭鍏ヤ竴涓鍗佽繘鍒舵暟:");scanf("%d",&x);printf("杞崲鎴愪簩杩涘埗鏁版槸:%d\n",transfer(x));} int transfer(int x){ int p=1,y=0,yushu;while(1){ yushu=x%2;x/=2;y+=yushu*p;p*=10;if(x<2){ y+=x*p;break;} } return y;} ...
  • 鐢C璇█缂栫▼,杈撳叆涓涓鍗佽繘鍒姝f暣鏁,杈撳嚭鍏跺搴旂殑鍗佸叚杩涘埗鏁存暟銆
    绛旓細鍦C璇█缂栫▼涓紝瑕佸疄鐜灏嗗崄杩涘埗姝f暣鏁拌浆鎹负鍗佸叚杩涘埗鏁存暟锛屽彲浠ヤ娇鐢ㄤ互涓嬩唬鐮佺墖娈碉細c include int main() { int decimalInput; // 瀹氫箟瑕佽浆鎹㈢殑鍗佽繘鍒舵暟 int hexadecimalOutput; // 瀛樺偍鍗佸叚杩涘埗缁撴灉 // 杈撳叆鍗佽繘鍒舵暟 printf("璇疯緭鍏ヤ竴涓崄杩涘埗姝f暣鏁: ");scanf("%d", &decimalInput);// 杞崲涓...
  • 扩展阅读:小学生c++ ... 为什么不建议孩子学编程 ... 学编程的十大忠告 ... c十十编程要学多久 ... c十十编程难学吗 ... c十十编程就业方向 ... 学编程一般不要超过多少岁 ... c++编程适合几岁学 ... 孩子学编程最佳年龄 ...

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