进制转换的计算并不复杂,小的数值可以通过笔算和口算得出结果,那很大的数呢,就需要用计算机来帮助我们解决问题了!

小贴士:
二进制逢二进一,是由0和1组成;
八进制逢八进一,是由 0 1 2 3 4 5 6 7 组成;
十六进制 逢十六进一,是由 0 1 2 3 4 5 6 7 8 9 A B C D E F 组成;
(从10开始就是两位数了,为了方便进制的转换和使用,就用abcdef来分别对应10 11 12 13 14 15);

1. 编写函数把一个十进制数输出其对应的八进制数;
样例输入
9274
样例输出
22072

第一种:

public static void Fa(){Scanner sr=new Scanner(System.in);int s=sr.nextInt();String str="";     while (s>=8) {str += s%8; //余数s= s/8;        //除数}str = str+n;StringBuffer sb=new StringBuffer(str);System.out.println(sb.reverse());//反转
}

第二种:

public static void Fb() {Scanner sr=new Scanner(System.in);int a=sr.nextInt();if(0<=a && a<=2147483647) {//取值范围//调用方法,十进制转八进制;System.out.println(Integer.toOctalString(a));//十转八}}


第三种:

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();System.out.printf("%o",num);//八进制   }

2.编写函数把一个十进制数输出其对应的十六进制数;
问题描述
  十六进制数是在程序设计时经常要使用到的一种整数的表示方式。它有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F共16个符号,分别表示十进制数的0至15。十六进制的计数方法是满16进1,所以十进制数16在十六进制中是10,而十进制的17在十六进制中是11,以此类推,十进制的30在十六进制中是1E。
  给出一个非负整数,将它表示成十六进制的形式。
输入格式
  输入包含一个非负整数a,表示要转换的数。0<=a<=2147483647
输出格式
  输出这个整数的16进制表示
样例输入
30
样例输出
1E

第一种:

public static void Za(){Scanner sr=new Scanner(System.in);int s=sr.nextInt();String str="";     while (s>=16) {str += s%16;   //余数拼接s= s/16;     //除数}switch (str) {case "10": str=s+"A";System.out.println(str);break;            case "11": str=s+"B";System.out.println(str);break;case "12": str=s+"C";System.out.println(str);break;case "13":str=s+"D";System.out.println(str);            break;case "14": str=s+"E";System.out.println(str);           break;case "15":str=s+"F";System.out.println(str);                break;default :str= s + str;System.out.println(str);break;}
}

第二种:

public static void Zb() {Scanner sr=new Scanner(System.in);int a=sr.nextInt();if(0<=a && a<=2147483647) {//取值范围
//Integer.toHexString(a)转换成十六进制(不过字母是小写),所以通过.toUpperCase()方法转换成大写;String b=Integer.toHexString(a).toUpperCase();System.out.println(b);//输出}}


第三种:

public static void main(String[] args) {Scanner sc = new Scanner(System.in);int num = sc.nextInt();System.out.printf("%X \n",num);//16进指     }

3.问题描述
 给定n个十六进制正整数,输出它们对应的八进制数。

输入格式
  输入的第一行为一个正整数n (1<=n<=10)。
  接下来n行,每行一个由09、大写字母AF组成的字符串,表示要转换的十六进制正整数,每个十六进制数长度不超过100000。

输出格式
  输出n行,每行为输入对应的八进制正整数。

【注意】
  输入的十六进制数不会有前导0,比如012A。
  输出的八进制数也不能有前导0。

样例输入
  2
  39
  123ABC

样例输出
  71
  4435274

public static void main(String[] args) {//思路:十六进制-->十进制-->八进制Scanner sr=new Scanner(System.in);int a=sr.nextInt();for(int i=0;i<a;i++) {String a16=sr.next();int ace=Integer.parseUnsignedInt(a16, 16);//转成十进制String  ss=Integer.toOctalString(ace);//十进制转八进制System.out.println(ss);                 }}

结果:

4. 十六进制转换十进制
问题描述
  从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。
 注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。
样例输入
FFFF
样例输出
65535

 Scanner sr=new Scanner(System.in);String a16=sr.next();   //输入一个十六进制的数char[] b16= a16.toCharArray();     //转换成char数组int a10=0;                              for (int i = 0; i < b16.length; i++) {    //遍历                a10+= xia(b16[i])*Math.pow(16, b16.length-1-i);   // 对应的数 乘以位数次幂(16进制所以是16的次幂)//过程验证//  System.out.println(xia(b16[i]));    //  System.out.println(Math.pow(16, b16.length-1-i));}System.out.println(a10);  //输出                }public static int xia(int ace) {   //转换对应的数int qwe=0;char[] wt= {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',};for (int i = 0; i < wt.length; i++) {if(wt[i]==ace) {qwe=i;break;}}return qwe;}

进制转换的相互转换习题相关推荐

  1. Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)

    Algorithm:[Algorithm算法进阶之路]之算法中的数学编程相关习题(时间速度.进制转换.排列组合.条件概率.斐波那契数列) 目录 时间速度 排列组合 进制转换 条件概率 斐波那契数列 时 ...

  2. Nwafu-OJ-1437 Problem h C语言实习题六——6.进制转换函数设计

    问题 : C语言实习题六--6.进制转换函数设计 时间限制: 1 Sec  内存限制: 128 MB 提交: 3451  解决: 2057 [提交][状态][讨论版] 题目描述 设计一个函数,将任意一 ...

  3. 各种进制的相互转换【进制转换器】【进制转换】【算法】

    第一种进制转换:   写此篇题解之前,已经发布十进制转换M进制详解,R进制转换成十进制详解. 那第一种进制转换就是将十进制作为跳板,融合以上两种进制转换,到达由M进制转换成R进制的效果. PS:此处不 ...

  4. html进制转换js代码,JS中的进制转换以及作用

    js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现: 运行下面代码 //10进制转为16进制 (10).toString(16) ...

  5. 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc

    计算机数制及编码进制转换公开课教学教育资料.doc 数制与编码进制转换[学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已经初步知道了人与计算机进行信息交换通 ...

  6. 计算机常用数制转换说课稿,进制与进制转换说课稿

    <数制及其转换> 尊敬的各位老师:大家好!我说课的内容是<数制及其转换>. 一.说教材 1.教材分析 <数制及其转换>是从人民邮电出版社教材<大学计算机基础& ...

  7. (计算机组成原理)第二章数据的表示和运算-第一节1:一文总结进制转换,妈妈再也不用担心我不会进制转换了

    文章目录 一:进位计数法 二:进制转换 (1)其他进制数转换为十进制 (2)十进制数转化为其他进制数 (3)二进制.八进制和十六进制的相互转换 三:真值和机器数 一:进位计数法 进位计数法是一种计数的 ...

  8. 怎么用计算机的计算器转换进位制,计算机进制换算(进制转换计算器)

    我想知道进制的转换方法, 8 16 10进制转换成2进制都是除2. 但其他进制之间. 进数转换:1.二进制数.十六进制数转换为十进制数(按权求和) 二进制数.十六进制数转换为十进制数的规律是相同的.把 ...

  9. 进制转换(计算机基础)

    一.什么是进制? 进制:即进位计数制,如二进制,计算机的程序和程序运行所需要的数据以二进制形式表示和存储,只有0和1. 计算机存储最小的单位:位(bit) 数据表示的最小单位:字节(byte) 1字节 ...

最新文章

  1. web高性能开发系列随笔
  2. MySQL主从复制之传统复制与GTID模式之间切换
  3. linux 内存管理中的 rss 和 vsz
  4. 在Windows操作系统下,由操作系统分配的内存就叫做堆
  5. Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
  6. firefox 扩展_如何检查您的扩展程序是否将停止与Firefox 57一起使用
  7. 了解OAuth2令牌认证
  8. django mysql 一对多_请教,django中 如何向带有外键(一对多和多对多)数据库中批量插入数据?...
  9. 处理移动端pdf展示问题
  10. 清华博士后黄石生:深度神经网络实时三维重建和在线语义分割技术报告
  11. 使用TensorFlow.js在浏览器中进行深度学习入门
  12. laravel redis_php session 存储到redis里
  13. 【ArcGIS|空间分析】叠置分析(易混工具使用)
  14. 紫猫插件-网络共享数据(16-18)
  15. pythonexcel怎么读_python怎么读excel
  16. 中国大学慕课mooc答题/自动播放脚本(domooc)使用教程
  17. 收藏商品表设计_数据采集实战:商品详情页数据埋点
  18. uniapp小程序使用iconfont彩色图标
  19. Python 的文件路径和操作(一)
  20. HTML学习笔记——框架结构

热门文章

  1. CSS/HTML5带数字简洁大方的Top10排名列表
  2. [英语单词] Kernel:upstream/downstream;上下游
  3. 成都古镇一日游全攻略
  4. android adb push、adb pull 使用
  5. 数学建模与MATLAB计算之006.MATLAB中的条件语句
  6. LoadRunner 2021 录制脚本和编写脚本
  7. git在项目中忽略包node_modules依赖包和git 指令常用汇总
  8. Compose - 主题 Theme
  9. 买房四部曲之纪念自己人生中第一次买房
  10. Athena电商系统(21)——Athena生产环境部署