C#实现二、八、十六进制数转十进制数的算法

二进制换为十进制的方法,例如:

二进制数:11001

十进制数:1*24+1*23+0*22+0*21+1*20=25

八进制换为十进制的方法,例如:

八进制数:32007

十进制数:3*84+2*83+0*82+0*81+7*80=13319

十六进制换为十进制的方法,例如:

十六进制数:a20f(由于十六进制数用a~f表示10~15之间的数,所以计算时将a~f用10~15表示)

十进制数: 10*83+2*82+0*81+15*80=41487

通过以上二、八、十六进制数转十进制数的计算方法,可得出计算的代码为:

//参数Num为需要转换的数,n为该数的进制public string ToD(string Num, int n){    char[] nums=Num.ToCharArray ();    int d = 0;    for (int i = 0; i <nums.Length ; i++)    {        string number=nums [i].ToString ();        if (n == 16)        {            switch (number.ToUpper ())            {                case "A":                    number = "10";                    break;                case "B":                    number = "11";                    break;                case "C":                    number = "12";                    break;                case "D":                    number = "13";                    break;                case "E":                    number = "14";                    break;                case "F":                    number = "15";                    break;            }        }        Double power = Math.Pow(Convert.ToDouble (n),Convert.ToDouble ( nums.Length - (i + 1)));        d = d + Convert.ToInt32 (number) * Convert.ToInt32 (power);    }    return d.ToString ();}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 二进制
, 进制
, 方法
, 十六进制转中文
, 十六进制
, 十进制
, 二进制数
, 十进制数
, 十六进制转八进制
, 八进制
, 十进制转二进制
, 10进制转
二进制转八进制
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2024-10-17 11:33:10

C#实现二、八、十六进制数转十进制数的算法的相关文章

数据结构栈实现进制转换遇到问题十进制数255 输出的十六进制数是F15F15 哪里错了

问题描述 数据结构栈实现进制转换遇到问题十进制数255 输出的十六进制数是F15F15 哪里错了 //进制转换函数 void conversion(int n,int r) { SqStack S;//构建一个栈 InitStack(S); while(n) { Push(S,n%r);//数据入栈 n=n/r; } while(!StackEmpty(S)) { SElemType e; Pop(S,e);//数据出栈 switch(e) { case 0: break; case 1: br

用汇编语言将十进制数据转换成十六进制数。要求从键盘上输入一个十进制数,然后以十六进制数输出

问题描述 用汇编语言将十进制数据转换成十六进制数.要求从键盘上输入一个十进制数,然后以十六进制数输出 用汇编语言将十进制数据转换成十六进制数.要求从键盘上输入一个十进制数,然后以十六进制数输出,用子程序实现 解决方案 http://www.cnblogs.com/vongang/archive/2011/11/16/2251645.html

c-用C语言实现在键盘输入两个十进制数,然后在屏幕输出这两个数中较大的那个数

问题描述 用C语言实现在键盘输入两个十进制数,然后在屏幕输出这两个数中较大的那个数 我是这样写的: #include #include void main() { scanf("%d,%d",&a,&a,&b); c=max(a,b); print("max=%d",c); return 0; } 可是怎么就不对了呢?想不明白..啊-- 解决方案 1;如wolf所说,多一个&a,多return 0; 2;a,b,c没定义 3;我记得标

PHP中如何将ip地址转成十进制数

  PHP 中如何将ip地址转成十进制数呢?现在PHP中有很多时候都会用到ip地址,但是这个ip地址获取的时候都不是10进制的.那么PHP中如何将ip地址转成十进制数就是我们比较头疼的事情了,下面两种方法是我整理处理来相对比较简单的IP地址转成十进制数的方法.希望能对大家有所帮助. 方法一: 代码如下 public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array_re

c++中 int十进制数如何转int 16进制数

问题描述 c++中 int十进制数如何转int 16进制数 例如,我有int a = 100:但是我要获得int b = 0x100:如何把a转换成b. 解决方案 你这个只能是转成16进制字符串,如果是数值的话,你可以直接这样写,在内存中,不管什么进制,都是以二进制表示 解决方案二: int转6位16进制数. 解决方案三: 不妨看看 char *itoa( int value, char *string,int radix); 第三个参数是进制 解决方案四: 可以先转换成字符串,然后通过字符串再

十进制数-用vcmfc编写一个函数 在发送按钮事件下调用这个函数 具体见正文

问题描述 用vcmfc编写一个函数 在发送按钮事件下调用这个函数 具体见正文 该函数需将BYTE编辑框变量十进制数转化为16进制数,在按钮事件下调用该函数 进行转化.我是新手 求指导 刚接触vc思维上有点转不过来 解决方案 大概的思路char * input= ""00FF0123D5..."";char* out2=new char[strlen(input/2];int count=0;for(char *s=input;strlen(s)>0;s+=2)

编写一个函数,转换十进制数为字符串,需要处理负数,为什么会有错误呢

问题描述 编写一个函数,转换十进制数为字符串,需要处理负数,为什么会有错误呢 /* 编写一个函数,转换字符串的逆序字符串,比如"ABC"转换为"CBA".*/void reverse(char r[]int n){ int i; int temp; for(i=0;i<n/2;i++) { temp=r[i]; r[i]=r[n-i-1]; r[n-i-1]=temp; }}void chang1(int a){ int i = 0 j = 0 temp =

c语言-C填空题:从键盘输入一个十六进制字符串,将其转换为十进制数

问题描述 C填空题:从键盘输入一个十六进制字符串,将其转换为十进制数 #include int change(char *s) { int sum=0; while(*s) { if(*s>='a'&&*s<='z') sum=(); else if(*s>='A'&&*s<='Z') sum=(); else if(*s>='0'&&*s<='9') sum=(); (); } return sum; } void ma

编程-汇编把一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数

问题描述 汇编把一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数 汇编把一个16位无符号二进制数转换成为用8421BCD码表示的5位十进制数.转换算法可以是:用二进制数除以10000,商为"万位",再用余数除以1000,得到"千位":依次用余数除以100.10和1,得到"百位"."十位"和"个位" 解决方案 unsigned int ui;//(16位无符号二进制数) unsigned