编程算法基础-2.3进制转换
来源:互联网 发布:php curl post header 编辑:程序博客网 时间:2024/05/23 02:06
2.3进制转换
使用int存一个整数时,内存中是用二进制存储的,当要显示的时候,用十进制显示。
任意进制间的转换
n进制转m进制
String s = “2001201102”
3进制转换为5进制
先转换为2进制,再转换为5进制
/*任意进制间的转换n进制转m进制String s = “2001201102”3进制转换为5进制 先转换为10进制,再转换为5进制*/ package BinaryTrans; public class NToM { public static void main(String[] args) { String s = "2001201102";//三进制的一个串 int STARTSystem = 3; int ENDSystem = 5; //把三进制的串转换为真值,并且用十进制显示 int n = 0; for(int i=0;i<s.length();i++){ char c = s.charAt(i); n = n*STARTSystem + (c -'0');//将三进制转换为十进制,十位:以一当三 } /* n=14235; n % 10 -->5 n = n/10; n % 10 -->3 n = n/10 ......*/ String s2 = ""; while(true){ s2 = n%ENDSystem + s2;//五进制转换 n = n/ENDSystem; if(n==0) break; } System.out.println(s2); }}
2244434
Excel单元格转换
Excel 单元格地址有两种格式:
普通格式,如:A5, BC12
对应的RC格式:R5C1, R12C55
显然,RC格式是直接给出行号和列号
请编程在两种地址格式间转换。
/*Excel单元格转换Excel 单元格地址有两种格式:普通格式,如:A5, BC12对应的RC格式:R5C1, R12C55显然,RC格式是直接给出行号和列号请编程在两种地址格式间转换。*/public class ExcelTranslation { public static void main(String[] args) { String s = "BC12"; System.out.println(s); System.out.println(normalToRC(s)); String s2 = "R5C1"; System.out.println(s2); System.out.println(RCToNormal(s2)); } //RC模式转为普通模式 public static String RCToNormal(String s){ s=s.substring(1);//将开头的R去掉 String ss[] = s.split("C");//用C分割串 int column = Integer.valueOf(ss[1]);//将列号转换为真值(十进制) String s2 = ""; while(true){ s2 = (char)(column%26 + 64) + s2;//转回26进制,输出char类型字母 column = column/26; if(column==0) break; } String result = s2+ss[0]; return result; } //普通模式转为RC模式 public static String normalToRC(String s){ int start_digit = 0;//数字的初始位置 for(int i=0;i<s.length();i++){//遍历串,找到分割点 if(Character.isDigit(s.charAt(i))){//得到出现数字的位置i start_digit=i; break;//跳出,避免第二次又出现数字 } } String column = s.substring(0, start_digit);//得到字母,即列号(二十六进制) String row = s.substring(start_digit);//得到数字,行号 //将二十六进制转换为十进制 int n=0; for(int i=0;i<column.length();i++){ char c = column.charAt(i);//得到每一个字母 n = n*26 + (c-64);//将二十六进制转换为十进制,'A'-64=1 } String resultRC = "R"+row+"C"+n; return resultRC; }}
BC12R12C55R5C1A5
0 0
- 编程算法基础-2.3进制转换
- 编程算法基础-2.2串与数值的转换
- 算法与编程实践内容安排 进制转换
- 进制转换基础
- 进制转换算法
- 转换进制算法
- 进制转换算法
- 进制转换算法
- 算法--进制转换
- 进制转换算法
- 进制转换算法
- 算法:进制转换
- 进制转换算法
- 算法--基础编程模型
- 编程算法基础
- 算法编程基础
- 基础算法之二进制转换
- 编程算法基础-作业第02讲-串与数值转换_翻译
- 数据库间区别
- JSON和JSONP
- Android 自定义权限 (<permission> <uses-permission>)
- 关于最短路算法SPFA
- 用ASP编程控制在IIS建立Web站点的程序代码
- 编程算法基础-2.3进制转换
- c 多维数组指针(一站式编程)
- memcached的基本设置
- C++中cout输出字符串问题。
- oracle sid 与 servername 区别
- jquery 扑捉回车键事件
- 利用反射,实现动态调用winform窗体!!
- myeclipse安装findbugs
- Linux(Xubuntu)快速正确地安装 Ruby, Rails 环境