Int2Scale进制转换开发手记

来源:互联网 发布:php获取服务器内存 编辑:程序博客网 时间:2024/06/05 07:06

Int2Scale是一个简单的进制转换工具 可以输入一个十进制数 并转到2~34进制(0~9 A~Z)



另附程序猿交流QQ群:532320075,在这个充满理想与奋斗的家,我们期待着您的加入^▽^。

原理解析:

由于冒傻气 没注意到有26个英文字母,所以设边界条件时设成了2<=scale<=34,这点请见谅。

这个程序的开发缘由是当时正在学习进制转换,学到了除n取余法,所以就试着写了个程序模拟了这个过程。

类似的程序网上有很多,算法比较简单,这里只作简单说明,如十进制转二进制,则不断将剩余的数字除2,直到商为0,此时将所有余数倒序排列,即是二进制的表示法。

6/2=3…0

3/2=1…1

1/2=0…1

所以十进制6即为二进制110。

 

在程序中,我们先将输入数转正数(无论正负统一处理),然后不断循环直到商为0,同时得到Reminder(余数),根据Reminder是否大于9判断使用数字或字母转成cReminder(char),并写入stringstream(用于快速添加字符),结束循环后将string取出,根据原数正负还原正负号并反转,于是就得到了经过进制转换的数。


打包:

Int2Scale