c语言十进制转化为十六进制

十进制转化为十六进制代码:

#include "stdio.h" int main() 

int num=0;

int a[100]; 

int i=0; 

int m=0;

int yushu; 

char hex[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};

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("
"); 

}

程序运行结果:

扩展资料:

进制转换由一组数码符号和两个基本因素“基数”与“位权”构成。基数是指,进位计数制中所采用的数码(数制中用来表示“量”的符号)的个数。位权是指,进位制中每一固定位置对应的单位值。

举例:二进制数转换为十进制数

二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……

所以,设有一个二进制数:0110 0100,转换为10进制为:

下面是竖式:

0110 0100 换算成十进制

第0位 0 * 20 = 0

第1位 0 * 21 = 0

第2位 1 * 22 = 4

第3位 0 * 23 = 0

第4位 0 * 24 = 0

第5位 1 * 25 = 32

第6位 1 * 26 = 64

第7位 0 * 27 = 0

公式:第N位2(N)

---------------------------

100

用横式计算为:

0 * 20 + 0 * 21 + 1 * 22 + 0 * 23 + 0 * 24 + 1 * 25 + 1* 26 + 0 * 27 = 100

0乘以多少都是0,所以我们也可以直接跳过值为0的位:

1 * 22 + 1 * 25 +1*26 = 100

参考资料:

百度百科-进制转换



  • 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璇█ 鍗佽繘鍒杞崲涓哄崄鍏繘鍒?
    绛旓細鍦–璇█涓紝鍙互浣跨敤`printf()`鍑芥暟鐨勬牸寮忔帶鍒剁灏嗗崄杩涘埗鏁拌浆鎹负鍗佸叚杩涘埗銆傚叿浣撴潵璇达紝鍙互浣跨敤 `%x` 鏍煎紡鎺у埗绗︺備緥濡傦細```c int decimal_number = 255;printf("%x", decimal_number);```涓婅堪浠g爜灏嗗崄杩涘埗鏁255杞崲涓哄崄鍏繘鍒跺舰寮忥紝骞惰緭鍑虹粨鏋渇f銆傞渶瑕佹敞鎰忕殑鏄紝鍦ㄤ娇鐢 `%x` 鏍煎紡鎺у埗绗︽椂锛岃緭...
  • C璇█涓鍗佽繘鍒杞崲鍗佸叚杩涘埗鏁版槸浠涔?
    绛旓細C璇█绋嬪簭涓紝鍗佽繘鍒跺拰鍗佸叚杩涘埗瀹為檯鏄簰閫氱殑銆傚崄鍏繘鍒舵暟鐢辨暟瀛0~9銆佸瓧姣岮~F锛堟垨a~f锛夌粍鎴愩傛妸鍗佸叚杩涘埗鏁版寜鏉冨睍寮銆佺浉鍔犲嵆寰楀崄杩涘埗鏁般傜幇瀹炰腑鍗佸叚杩涘埗鏁板拰鍗佽繘鍒舵暟涓嶅彲浠ョ洿鎺ョ浉鍔狅紝濡傛槸鍦ㄧ數鑴戜笂鐨勮瘽鏄彲浠ョ殑锛屼綍绉嶈繘鍒舵暟鍦ㄧ數鑴戜笂閮芥槸浠ヤ簩杩涘埗鐨勫舰寮忚〃绀虹殑锛屽湪鐢佃剳缂栧啓绋嬪簭鏃舵槸鍙互鐩稿姞鐨勩傚崄杩涘埗鏁...
  • C璇█鍗佽繘鍒惰浆鍗佸叚杩涘埗鏁
    绛旓細C璇█鍗佽繘鍒惰浆鍗佸叚杩涘埗鏁扮殑婧愪唬鐮佸涓嬶細include<bits/stdc++.h> using namespace std;void IntZh0x(int n){int s=n%16;if(n/16!=0) IntZh0x(n/16);if(s>9){ if(s==15) cout<<"F";else if(s==14) cout<<"E";else if(s==13) cout<<"D";else if(s==12) cout<<"C"...
  • c璇█缂栫▼ 鎶鍗佽繘鍒杞崲涓哄崄鍏繘鍒
    绛旓細鏂规硶涓锛#include<iostream>#include <string>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 -...
  • c璇█涓鍗佽繘鍒鏁版槸鎬庢牱杞寲鎴愬崄鍏繘鍒鏁扮殑?
    绛旓細璁句竴涓暟涓簄锛屽垯鍦C璇█涓叾涓綅銆佸崄浣嶃佺櫨浣嶃佸崈浣嶄緷娆¤繖鏍疯绠楋細n/1%10锛宯/10%10锛宯/100%10锛宯/1000%10 浠g爜濡備笅锛歩nclude<stdio.h> int main(){ int n = 123456;int unitPlace = n / 1 % 10;int tenPlace = n / 10 % 10;int hundredPlace = n / 100 % 10;int thousand...
  • 濡備綍鐢c璇█瀹炵幇10杩涘埗杞崲鎴16杩涘埗
    绛旓細include <stdio.h>#define LEN 100char *decimal2Others (int value, char *string, int radix) { /*鍗佽繘鍒舵暟杞浠绘剰杩涘埗*//*闄ゅ熀鏁板彇浣欐硶锛氬崄杩涘埗鏁颁笉鏂櫎浠ヨ繘鍒跺熀鏁扮洿鑷充负闆讹紝姣忔鐩搁櫎鍙栧緱浣欐暟涔嬮嗗簭鍗充负杞崲缁撴灉*/int remain,i=1,j=0; int temp[LEN]; while (value) { /*闄ゅ熀鏁...
  • 10杩涘埗杞16杩涘埗c璇█
    绛旓細渚嬪100 100/16=6浣4 6/16浣6锛屾墍浠ュ氨鏄64 鍐嶄緥濡1000 1000/16=62浣8 62/16=3浣12 3/16浣3鎵浠ョ粨鏋滄槸3C8 //C璇█鍗佽繘鍒惰浆16杩涘埗瀹炰緥#include "stdio.h"void main(){ int x;scanf("%d",&x);printf("鍗佸叚杩涘埗涓:%x",x);//%x杈撳嚭鍗佸叚杩涘埗 } ...
  • C璇█缂栫▼濡備綍灏鍗佽繘鍒杞崲涓轰簩杩涘埗鍜鍗佸叚杩涘埗?
    绛旓細//鍗佽繘鍒杞崲鎴愪簩杩涘埗,杞垚16杩涘埗鎳掑緱鍐,鍘熺悊宸笉澶歕x0d\x0a#include\x0d\x0aint main()\x0d\x0a{\x0d\x0aint a,sz[100];\x0d\x0aint b,c,d=0,l;\x0d\x0afor(b=0;b<101;b++) sz[b]=0;\x0d\x0aprintf("璇疯緭鍏ヤ竴涓崄杩涘埗鐨勬暣鏁:\n");\x0d\x0ascanf("...
  • c璇█鍗佽繘鍒惰浆鍖栦负鍗佸叚杩涘埗鍘熺悊
    绛旓細渚嬪锛鍗佽繘鍒 17852.5 杞寲涓哄崄鍏繘鍒锛17852/16 = 1115 浣 12 -- c 1115/16 = 69 浣 11 -- b 69/16 = 4 浣 5 4/16 = 0 浣 4 鏁存暟閮ㄥ垎 寰16杩涘埗: 45bc .5 * 16 = 8.0 鍙 8 浣 0 灏忔暟閮ㄥ垎 寰16杩涘埗: .8 鍚堣捣鏉 0x45bc.8 c 璇█绋嬪簭 printf("%x"...
  • 扩展阅读:十六进制在线转换 ... 十六进制c语言表示 ... 十六进制计算在线 ... 十进制在线转换器 ... 十六进制转换计算器 ... 中文十六进制翻译器 ... c语言必背100代码 ... 十六进制颜色查询器 ... 十进制转十六进制步骤 ...

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