不需要转换,因为不管是多少进制在硬件中存储都是2进制。你说的多少进制,仅仅是呈现的不同,默认在断点调试程序的时候是10进制显示,可以选择16进制显示方式。所以你将的在程序中进制转换,无意义。如果是呈现不同进制的样式,ToSting(‘格式符’)方法有个重载
为什么要转换呢?
你所说的这种转换只是从不同的则面去看一个实体,而这个实体(也就是计算机中的数据)根本没有改变。
区分十进制与十六进制,只有在输入,输出中才有意义,因为这两者人可以接触的到,它只为满足人们的多种表达方式。
而计算的过程中的区分则没意义,计算机不吃这套。。。
还有,程序附上的代码运行会有异常。
式中“bytes[i*2+1]"在最后一次循环时会溢出。
Int32.Parse(number, System.Globalization.NumberStyles.HexNumber)
将number转换成16进制
同时你要使用16进制做运算 你的256也应该是16进制的。
调试中为int a赋值为0x00(16进制值) 但是鼠标移动过去查看的时候已经为你转换成了10进制表示。
通常运算中一般用10进制运算。运算时使用16进制没有什么实际意义。如果要输出16进制。只需将计算结果最后转换即可。
C#中很少用到进制转换。