目录

1.题目要求

2.解法思路(除16取余数)

3.栈的说明

4.具体代码

5.不利用栈的特性实现的方法(代码)


1.题目要求

输入任意一个非负十进制整数,打印输出与其等值的十六进制数。

例如计算654321的十六进制

2.解法思路(除16取余数)

1.当num!=0时进行求余数

2.余数有两种情况(小于10和大于10)

3.余数<10时,直接存入到栈中。

4.余数不小于10的余数需要转换成对应的A,B,C,D,E,F再存入到栈中

5.如何转换成对应字母利用ASCII码差值转换

a为余数

a+55就转换成对应字母的ASCII值

把a+55强转成char类型的

6.没求一次余数就要把num除一次16 当num==0时就结束

3.栈的说明

这个ArrayStack类是自己写的实现类,相当于Java自己的Stack类

push()压栈

pop()弹栈

peek()查询栈顶元素值

4.具体代码

package p2.线性结构;
//十进制 转 十六进制
public class DecToHex {public static void main(String[] args) {int num = 654321;ArrayStack<String> stack = new ArrayStack<>();while (num != 0) {int a = num % 16;if (a < 10) {stack.push(a + "");} else {//10-A 11-B 12-C 13-D 14-E 15-F//  65   66   67   68   69   70stack.push((char)(a + 55) + "");}num /= 16;}StringBuilder sb = new StringBuilder();while (!stack.isEmpty()) {sb.append(stack.pop());}System.out.println(sb.toString());}
}

5.不利用栈的特性实现的方法(代码)

package com.jichulianxi;
import java.util.Scanner;
public class Main10 {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();char[] c1 = new char[10];int i = 0;if (num == 0) {System.out.println(0);} else if (num != 0) {while (num != 0) {int yushu = num % 16;if (yushu >= 0 && yushu < 10) {c1[i] = (char) ('0' + yushu);//先把数字转换成对应的ASCII码值再强转成char型进去到字符数组中i++;} else {c1[i] = (char) (yushu + 'A' - 10);i++;}num = num / 16;}}for (int j = i-1; j >=0; j--) {System.out.print(c1[j]);        }}
}

【数据结构】3.十进制转十六进制相关推荐

  1. C++控制不同进制输出(二进制,八进制,十进制,十六进制)各种进制之间的转换

    目录 1.输出(头文件讲解) 2.格式控制 常用的I/O流控制符 4.各种进制之间的转换(进制大乱斗) 4.1.写在前面 4.2整体框架搭建 4.3菜单函数 4.4用户输入选择(main函数体中) 4 ...

  2. Python 二进制,十进制,十六进制转换

    你好,我是悦创. 接下来来编写 Python 中的进制转换,我们来一一编写. 十六进制 转 十进制 使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的 ...

  3. [转载]C# 二进制与十进制,十进制与十六进制相互转换

    原文地址:C# 二进制与十进制,十进制与十六进制相互转换作者:tonytonglx 十进制转二进制: 用2辗转相除至结果为1 将余数和最后的1从下向上倒序写就是结果例如302 302/2 = 151 ...

  4. 蓝桥杯 基础练习 十进制转十六进制(水题,进制转换)

    基础练习 十进制转十六进制 时间限制:1.0s   内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9,A,B,C ...

  5. 16进制加法 keil_教你快速学会二进制、十进制、十六进制之间的转换

    推荐学习内容--周华健的网课<9节课征服「字符编码」> 推荐学习视频: 9节课征服「字符编码」 - 网易云课堂​study.163.com 介绍 我相信很多大学计算机专业的学生还依然不懂它 ...

  6. python【蓝桥杯vip练习题库】BASIC-10十进制转十六进制

    试题 基础练习 十进制转十六进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8,9 ...

  7. java中各进制之间的转换(十进制转十六进制、十进制转二进制、二进制转十进制、二进制转十六进制)...

    在java编辑中有没有遇到经常需要进行java中各进制之间的转换(十进制转十六进制.十进制转二进制.二进制转十进制.二进制转十六进制)的事情呢?下面我们就来分析一下各自是怎么转换的: [java] / ...

  8. Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex

    Delphi十进制和十六进制互转 Delphi 自带函数 IntToHex 功能说明:该函数用于将"十进制"转换成"十六进制".该函数有二个参数.第一个参数为要 ...

  9. 【蓝桥杯】基础练习 十进制转十六进制

    试题 基础练习 十进制转十六进制 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述. 十六进制数是在程序设计时经常要使用到的一种整数的表示方式.它有0,1,2,3,4,5,6,7,8, ...

最新文章

  1. eclipse中测试Hibernate异常报 ORA-00926: 缺失 VALUES 关键字
  2. mysql 查询 字段是否为空
  3. 【移动通信】多址技术和调制技术
  4. 数据中心告别柴发还需要多久?
  5. 个人见解:*与(c语言)
  6. Java StringBuilder codePointCount()方法与示例
  7. 天亮了起来的飞鸽传书官方下载
  8. 自定义控件省市区:仿苹果级联菜单
  9. Thinkphp 公共函数自动加载
  10. MITK通用插件(四)The Dicom Browser Plugin
  11. 试试Live Witer
  12. 【影像配准】配准之棋盘网格图(镶嵌图像)(附有 C++ 代码)
  13. 读《人性的优点》有感
  14. (下)开发一款微信小程序的个性简历,能打开大厂之门并获得门票?(附源码)
  15. 创建电子商务网站的七个步骤_新电子商务需要避免的7个错误
  16. DE2带的IP核ISP12362报错问题解决 Error:avalon_slave_1_irq: associatedAddressablePoint out of range...
  17. 黑客大会:defcon_来自深层网络的故事:地下黑客的雇用
  18. 程序员如何保持身心健康?
  19. python中init和属性_python类的属性不在\uyu init中__
  20. Quantumult X去除ios开屏广告

热门文章

  1. w3cshool之JavaScript 基础
  2. python小课账号转卖_python小练习:用户三次登陆, 购物车
  3. Pinterest主页的机器学习
  4. NVIDIA Jetson TK1学习与开发(七):图文详解OpenCV在Jetson TK1上的安装和使用
  5. 2007年国庆骑行青岛归来
  6. 了解一下智能机器人中,用到的三项关键技术
  7. 【教程转载】 火狐浏览器 实用插件一览(附插件下载地址)
  8. Power Pivot入门(Excel2021专业加强版)
  9. 必做作业2:视频剪辑软件调研
  10. 看恒大集团用大数据如何精准扶贫