1.从十六进制转换为十进制

    /// <summary>
/// 十六进制转换到十进制
/// </summary>
/// <param name="hex"></param>
/// <returns></returns>
public static string Hex2Ten(string hex)
{
int ten = ;
for (int i = , j = hex.Length - ; i < hex.Length; i++)
{
ten += HexChar2Value(hex.Substring(i, )) * ((int)Math.Pow(, j));
j--;
}
return ten.ToString();
} public static int HexChar2Value(string hexChar)
{
switch (hexChar)
{
case "":
case "":
case "":
case "":
case "":
case "":
case "":
case "":
case "":
case "":
return Convert.ToInt32(hexChar);
case "a":
case "A":
return ;
case "b":
case "B":
return ;
case "c":
case "C":
return ;
case "d":
case "D":
return ;
case "e":
case "E":
return ;
case "f":
case "F":
return ;
default:
return ;
}
}
this.txtStartShi.Text = Hex2Ten(this.txtStartSN.Text.Trim().Substring(, ));
this.txtEndShi.Text = Hex2Ten(this.txtEndSN.Text.Trim().Substring(, ));

2.从十进制转换为十六进制

        /// <summary>
/// 从十进制转换到十六进制
/// </summary>
/// <param name="ten"></param>
/// <returns></returns>
public static string Ten2Hex(string ten)
{
ulong tenValue = Convert.ToUInt64(ten);
ulong divValue, resValue;
string hex = "";
do
{
//divValue = (ulong)Math.Floor(tenValue / 16); divValue = (ulong)Math.Floor((decimal)(tenValue / )); resValue = tenValue % ;
hex = tenValue2Char(resValue) + hex;
tenValue = divValue;
}
while (tenValue >= );
if (tenValue != )
hex = tenValue2Char(tenValue) + hex;
return hex;
} public static string tenValue2Char(ulong ten)
{
switch (ten)
{
case :
case :
case :
case :
case :
case :
case :
case :
case :
case :
return ten.ToString();
case :
return "A";
case :
return "B";
case :
return "C";
case :
return "D";
case :
return "E";
case :
return "F";
default:
return "";
}
}
 int StartSN = Convert.ToInt32(this.txtStartShi.Text.Trim());
int EndSN = Convert.ToInt32(this.txtEndShi.Text.Trim()); for (int i = ; i < EndSN - StartSN + ; i++)
{
listBox1.Items.Add("" + Ten2Hex((Convert.ToDouble(this.txtStartShi.Text) + i).ToString()));
}

    /// <summary>
/// 10进制转34进制
/// </summary>
/// <param name="parameter"></param>
/// <returns></returns>
public static string Ten2ThirtyFour(int parameter)
{
string[] radix = { "", "", "", "", "", "", "", "", "", "", "A", "B", "C", "D",
"E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T",
"U", "V", "W", "X", "Y", "Z" };
string result = "";
int len = ;
int remainder = ;
len = parameter / ;
remainder = parameter % ;
result = radix[remainder];
while (len > )
{
remainder = len % ;
len = len / ;
result = radix[remainder] + result;
}
return result;
}

C# 十进制与十六进制互转的更多相关文章

  1. 【转】C# 二进制,十进制,十六进制 互转

    //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...

  2. Delphi十进制和十六进制互转

    Delphi 自带函数 IntToHex 功能说明:该函数用于将“十进制”转换成“十六进制”.该函数有二个参数.第一个参数为要转换的十进制数据,第二个参数是指定使用多少位来显示十六进制数据. 参考实例 ...

  3. python IPv6 十进制和十六进制互转

    IPv6 转 十进制: #!/usr/bin/python # -*- coding: UTF-8 -*- import re def ipv62dec(ipv6): if checkipv6(ipv ...

  4. ORACLE十进制与十六进制的转换

    十进制与十六进制的转换 十进制-->十六进制 select to_char(100,'XX') from dual; 十六进制-->十进制select to_number('7D','XX ...

  5. SQL十进制和十六进制相互转换

    CREATE FUNCTION ufn_ConvertInt2Hex ( @Num BIGINT ) ) AS BEGIN /************************************* ...

  6. C# 二进制,十进制,十六进制

    //十进制转二进制 Console.WriteLine(Convert.ToString(69, 2)); //十进制转八进制 Console.WriteLine(Convert.ToString(6 ...

  7. C# 十进制和十六进制转换

    转至:http://www.cnblogs.com/fwind/archive/2012/04/13/2445380.html 在C#中,十进制和十六进制转换非常简单,方法如下: 十进制转为十六进制: ...

  8. Java中二进制、十进制、十六进制及ASCII码与String及字节数组与十六进制之间的转换

    public class DigitalTrans { /** * 数字字符串转ASCII码字符串 * * @param String * 字符串 * @return ASCII字符串 */ publ ...

  9. Oracle中的二进制、八进制、十进制、十六进制相互转换函数

    原文:Oracle中的二进制.八进制.十进制.十六进制相互转换函数 Oracle中的二进制.八进制.十进制.十六进制相互转换函数   今天在网上看到一篇关于在oracle中对各种进制数进行转换的帖子, ...

随机推荐

  1. android蓝牙技术

    配置权限 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permiss ...

  2. 【python cookbook】【字符串与文本】16.以固定的列数重新格式化文本

    问题:重新格式化一些很长的字符串,以指定的列数来显示 解决方案:textwrap模块的fill()方法来实现 # A long string s = "Look into my eyes, ...

  3. ch2-3:模块的使用-window环境

    导入模块:import 模块名 完成如下工作: 1.编写一个小程序testmodule.py,导入新建的模块nester,并定义一个小列表cast,然后使用调用模块中的函数打印列表到屏幕上: impo ...

  4. Makefile,如何传递宏定义DEBUG【转】

    转自:http://blog.csdn.net/linuxheik/article/details/8051598 版权声明:本文为博主原创文章,未经博主允许不得转载. Makefile,如何传递宏定 ...

  5. jython语言学习笔记

    1.变量可以随便定义,不限制类型,不限制数值.开头空4个空格,使用def定义函数,可以嵌套,可以传参. 2.每个语句结束的时候没有分号.定义类的时候没有括号.在print语句的后面有格式转换时要加上% ...

  6. $(document).ready vs $(window).load vs window.onload

    原文地址: $(document).ready vs $(window).load vs window.onload $(document).ready We execute our code whe ...

  7. Hibernate,get()和load()区别

    最主要区别在于,检索策略不同. 无论get和load,首先都会去session缓存中看有没有现成的数据.没有的话,get会采用立即检索策略.即:将对象从数据库检索出来并返回,不使用代理类.load的话 ...

  8. iOS Button按钮 热区的放大

      Apple的iOS人机交互设计指南中指出,按钮点击热区应不小于44x44pt,否则这个按钮就会让用户觉得“很难用”,因为明明点击上去了,却没有任何响应. 但我们有时做自定义Button的时候,设计 ...

  9. [C++]C++标准里 string和wstring

    typedef basic_string<char> string; typedef basic_string<wchar_t> wstring; 前者string是常用类型, ...

  10. ACM题目————二叉树的遍历

    一.二叉树的后序遍历: 题目描述 给定一颗二叉树,要求输出二叉树的深度以及后序遍历二叉树得到的序列.本题假设二叉树的结点数不超过1000 输入 输 入数据分为多组,第一行是测试数据的组数n,下面的n行 ...