可以先把16进制的转换成2进制,0F 01就是0000 1111 0000 0001,然后换成10进制就是3841了;16进制换成2进制是基础,一个1位的16进制数为一个4位的2进制数,本身没有什么诀窍,记住就可以了,0H16进制)=00002进制)、1H=00012H=00103H=00114H=01005H=01016H=01107H=01118H=10009H=1001A=1010B=1011C=1100D=1101E=1110F=1111
当然你也可以直接转换,公式类似于2进制转10进制一样。即第1位(从右到坐,即从低位开始算)乘以160次方+2位乘以161次方+3位的乘以162次方……这样一直这样,加到位结束。如上例就是0F01=1*160次方+0乘以的161次方+15乘以162次方+0乘以163次方=1+0+3840+0=3841
最后给出你例子的答案:0F01=38411C01=7169
你可以利用计算机的科学计算器试试!
假定txt文件中的各数据之间有个数不等的空格,但没有不属于十六进制字符  ,将txt文件添加到项目 
        static void Main(string[] args)
        {
            //创建新文件存放10进制字符
            FileInfo f = new FileInfo(@"..\..\");
            StreamWriter sw = f.CreateText();
            int val;
            //从原文件读取每行
            string[] hexStr = File.ReadAllLines(@"..\..\");
            //方法Split将空格作为分隔符,第2个参数使返回的字符串不包含空格。s成为字符串数组
            var Query = from s in hexStr
                        let x = s.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)进制数转换公式
                        select x;
            foreach (var q in Query)
            {
                for (int i = 0; i < q.Length; i++)
                {
                    //16进制字符串变成10进制数。
                    val = int.Parse(q[i], System.Globalization.NumberStyles.HexNumber);
                    //十进制字符写入流。
                    sw.Write(val.ToString()+" ");
                }
                sw.WriteLine();
            }
                // 关闭流,将流中字符写入文件。
            sw.Close();           
        }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。