进制转换的相互转换习题
进制转换的计算并不复杂,小的数值可以通过笔算和口算得出结果,那很大的数呢,就需要用计算机来帮助我们解决问题了!
小贴士:
二进制逢二进一,是由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;}
进制转换的相互转换习题相关推荐
- Algorithm:【Algorithm算法进阶之路】之算法中的数学编程相关习题(时间速度、进制转换、排列组合、条件概率、斐波那契数列)
Algorithm:[Algorithm算法进阶之路]之算法中的数学编程相关习题(时间速度.进制转换.排列组合.条件概率.斐波那契数列) 目录 时间速度 排列组合 进制转换 条件概率 斐波那契数列 时 ...
- Nwafu-OJ-1437 Problem h C语言实习题六——6.进制转换函数设计
问题 : C语言实习题六--6.进制转换函数设计 时间限制: 1 Sec 内存限制: 128 MB 提交: 3451 解决: 2057 [提交][状态][讨论版] 题目描述 设计一个函数,将任意一 ...
- 各种进制的相互转换【进制转换器】【进制转换】【算法】
第一种进制转换: 写此篇题解之前,已经发布十进制转换M进制详解,R进制转换成十进制详解. 那第一种进制转换就是将十进制作为跳板,融合以上两种进制转换,到达由M进制转换成R进制的效果. PS:此处不 ...
- html进制转换js代码,JS中的进制转换以及作用
js的进制转换, 分为2进制,8进制,10进制,16进制之间的相互转换, 我们直接利用 对象.toString()即可实现: 运行下面代码 //10进制转为16进制 (10).toString(16) ...
- 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc
计算机数制及编码进制转换公开课教学教育资料.doc 数制与编码进制转换[学情分析]本课内容是在学生已经学习了计算机发展与应用.计算机系统的组成等知识的基础上进行,已经初步知道了人与计算机进行信息交换通 ...
- 计算机常用数制转换说课稿,进制与进制转换说课稿
<数制及其转换> 尊敬的各位老师:大家好!我说课的内容是<数制及其转换>. 一.说教材 1.教材分析 <数制及其转换>是从人民邮电出版社教材<大学计算机基础& ...
- (计算机组成原理)第二章数据的表示和运算-第一节1:一文总结进制转换,妈妈再也不用担心我不会进制转换了
文章目录 一:进位计数法 二:进制转换 (1)其他进制数转换为十进制 (2)十进制数转化为其他进制数 (3)二进制.八进制和十六进制的相互转换 三:真值和机器数 一:进位计数法 进位计数法是一种计数的 ...
- 怎么用计算机的计算器转换进位制,计算机进制换算(进制转换计算器)
我想知道进制的转换方法, 8 16 10进制转换成2进制都是除2. 但其他进制之间. 进数转换:1.二进制数.十六进制数转换为十进制数(按权求和) 二进制数.十六进制数转换为十进制数的规律是相同的.把 ...
- 进制转换(计算机基础)
一.什么是进制? 进制:即进位计数制,如二进制,计算机的程序和程序运行所需要的数据以二进制形式表示和存储,只有0和1. 计算机存储最小的单位:位(bit) 数据表示的最小单位:字节(byte) 1字节 ...
最新文章
- web高性能开发系列随笔
- MySQL主从复制之传统复制与GTID模式之间切换
- linux 内存管理中的 rss 和 vsz
- 在Windows操作系统下,由操作系统分配的内存就叫做堆
- Android后台杀死系列之二:ActivityManagerService与App现场恢复机制
- firefox 扩展_如何检查您的扩展程序是否将停止与Firefox 57一起使用
- 了解OAuth2令牌认证
- django mysql 一对多_请教,django中 如何向带有外键(一对多和多对多)数据库中批量插入数据?...
- 处理移动端pdf展示问题
- 清华博士后黄石生:深度神经网络实时三维重建和在线语义分割技术报告
- 使用TensorFlow.js在浏览器中进行深度学习入门
- laravel redis_php session 存储到redis里
- 【ArcGIS|空间分析】叠置分析(易混工具使用)
- 紫猫插件-网络共享数据(16-18)
- pythonexcel怎么读_python怎么读excel
- 中国大学慕课mooc答题/自动播放脚本(domooc)使用教程
- 收藏商品表设计_数据采集实战:商品详情页数据埋点
- uniapp小程序使用iconfont彩色图标
- Python 的文件路径和操作(一)
- HTML学习笔记——框架结构
热门文章
- CSS/HTML5带数字简洁大方的Top10排名列表
- [英语单词] Kernel:upstream/downstream;上下游
- 成都古镇一日游全攻略
- android adb push、adb pull 使用
- 数学建模与MATLAB计算之006.MATLAB中的条件语句
- LoadRunner 2021 录制脚本和编写脚本
- git在项目中忽略包node_modules依赖包和git 指令常用汇总
- Compose - 主题 Theme
- 买房四部曲之纪念自己人生中第一次买房
- Athena电商系统(21)——Athena生产环境部署