例如:ff ff ff ff+ff ff ff ff=
最低字节相加=1FE 其中1就是进位扮雹谈了,结果就是低位=FE第一个字节相加=1FE再就上进位1=1FF第二个字节=FF再把进位加到第三个字节........
最终的结果就是肆模=1 FF FF FF FE
所以4 字节相加要5 个字节来保存结果
加法没有进制改竖乱问题,进制只是显示的格式而已,如果你有一核档个二进制字符串表示的整数,要实现加法,最好先把二进制字符串转化了整数,然后加法,然后再用String.Format格式化为二进制或者十进制或者十六纤蠢进制,
通过函数convert.ToInt32(value,frombase)将进制转换为十进制, 运算之后,
再用函数conver.Tostring(intvaluse,tobase)转换为相应的进制即可。
C++中,可通过itoa()函数,方便的将10进制数转换成2816等进制数,并转存到字符串中。如果仅是想以8或16进制格式输出10进制数,则可以渗早衡使用cout的格式化输出参数oct和hex完成数据输出。(缺陷:不支持二进制格式输出)参考代码:相关函数说明:char*itoa( intvalue,char*string,intradix)说明:value:欲转换丛做的数据。睁族string:目标字符串的地址。radix:转换后的进制数,可以是281016进制等。特别说明:itoa并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,可以用sprintf(),用法与printf()相同。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)