永发信息网

C#中有什么方法把十进制整数转换为十六进制的数

答案:3  悬赏:40  手机版
解决时间 2021-04-03 01:00
C#中有什么方法把十进制整数转换为十六进制的数
最佳答案
把十进制整数转换为十六进制的数有3种方式实现,其中两种是使用系统函数,另一种是直接自己编写。
下面的代码就是3种方式的实现,包括2位的整数和任意整数(2的31次方以内)都可以。可自己选择需要的实现方式。利用系统函数有:
1. char *  itoa ( int value, char * str, int base );value是要转化的数字,str是转化后的字符串存储的位置,base是进制数(但是这个函数不是标准C函数,有些编译器是不支持的!)。所以代码可以为:char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){    itoa (aa, buffer, 16);    return (buffer);}
2. sprintf(str,"%x",value);str是转化存储的位置,%x表示十六进制格式,value是要转化的数字。所以代码可以为:char buffer [33]; //用于存放转换好的十六进制字符串,可根据需要定义长度 char * inttohex(int aa){    sprintf(buffer, "%x", aa);    return (buffer);}
3. 自己编写的话如果参数只要两位数的整数,那么很简单。代码如下:char buffer [3]; //用于存放转换好的十六进制字符串。由于只要支持2位整数,所以长度3即可 char * inttohex(int aa){    if (aa / 16 < 10)   //计算十位,并转换成字符         buffer[0] = aa / 16 + '0';    else        buffer[0] = aa / 16 - 10 + 'A';    if (aa % 16 < 10)   //计算个位,并转换成字符        buffer[1] = aa % 16 + '0';    else        buffer[1] = aa % 16 - 10 + 'A';    buffer[2] = '';   //字符串结束标志    return (buffer);}
参考资料
博客.博客[引用时间2018-1-3]
全部回答
很简单,用ToString("X")就可以了 如 int a=10; string b=a.ToString("X");
在C#中,十进制和十六进制转换非常简单,方法如下:
十进制转为十六进制:
1 int a = 100;
2 String strA = a.ToString("x8");
十六进制转为十进制:
1 int b= Int32.Parse("266", System.Globalization.NumberStyles.HexNumber);
也可以使用下述方法:
///
/// 十六进制换算为十进制
///

///
///
public static int GetHexadecimalValue(String strColorValue)
{
char[] nums = strColorValue.ToCharArray();
int total = 0;
try
{
for (int i = 0; i < nums.Length; i++)
{
String strNum = nums[i].ToString().ToUpper();
switch (strNum)
{
case "A":
strNum = "10";
break;
case "B":
strNum = "11";
break;
case "C":
strNum = "12";
break;
case "D":
strNum = "13";
break;
case "E":
strNum = "14";
break;
case "F":
strNum = "15";
break;
default:
break;
}
double power = Math.Pow(16, Convert.ToDouble(nums.Length - i - ));
total += Convert.ToInt32(strNum) * Convert.ToInt32(power);
}
}
catch (System.Exception ex)
{
String strErorr = ex.ToString();
return 0;
}
return total;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
杨幂爱你日语怎么写
文言文阅读(共15分)京中有善口技者。会宾客
雨燕故障码p1623怎么回事
出食以鬼是什么意思
日本超人那部动漫叫什么名字
关于柚子的诗词
立领呢大衣单排四扣扣子的正确扣法
魅族4大概多少钱?
东风送暖文明第宅春常在 千祥云集琴瑟人家庆
女孩名字叫张瑾悦行吗?
可以修改注单吗?谁能介绍下
cshtml如何固定布局
厚度是7毫米的植物革有没有?
围绕等等再吃先发微信写一篇作文
鸿渤幼稚园(九台南路)地址有知道的么?有点事
推荐资讯
勉县现在学车要多少钱
长2米宽 15公分厚度12公分算立分
如何在成都注册公司?具体需要什么条件?
三星r439开机出现disk error Press any key
李书文 功夫有多高
丙肝抗体阴性是什么意思?
《NBA2K16》MC模式人物属性提高与加点心得 怎
- ?-No, it is
请教大师们,如果日柱是丁火,那什么情况下会
玩具兵大战211关堡垒怎么进去
一般讨厌的两个人是什么在一起的?
郭涛和林家栋一起演的是什么电影
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?