Java查表法实现十进制转化成其它进制
首先了解十进制转化成二级制的原理
156的二进制为:
156 % 2 = 78 …… 0
83 % 2 = 39 …… 0
39 % 2 = 19 …… 1
19 % 2 = 9 …… 1
9 % 2 = 4 …… 1
4 % 2 = 2 …… 0
2 % 2 = 1 …… 0
1 % 2 = 0 …… 1 从下到上看即为 10011100
100111000转八进制实际上就是
00-000-000-000-000-000-000-000-010-011-100
倒数第一组数110 的十进制即:4
倒数第二组数011 的十进制即:3
倒数第三组数010 的十进制即:2 从下到上看即为 234
156的八进制为234
理十六进制的数
0000-0000 0000-0000 0000-0000 1001-1100
倒数第一组数1100的十进制为:12即C
倒数第二组数1001的十进制为:9 9C

倒数第一组数可以看成和1111“与”运算后得出1100,的十进制为12 即为C
然后右移四位

倒数第二组数可以看成和1001“与”原酸后得出1001,的十进制即9
即在代码中定义一个函数实现
public static void change(int num,int base,int move)
{
if(num==0)//如果是零输出零,结束
{
System.out.println(0);
return;
}
char[] tables ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
char[] bottle =new char [32];
int position =bottle.length;//定义一个局部变量,从数组后面开始存放数据
while (num!=0)
{
int temp =num & base;
bottle[--position] = tables[temp];
num = num >>> move;
}
for(int x=position;x<bottle.length;x++)
{
System.out.print(bottle[x]);
}
System.out.println();
}


Java查表法实现十进制转化成其它进制的更多相关文章
- Java 二维数组,排序、切换顺序,查表法二进制十进制,这班查找、排序(冒泡、选择)、遍历,获取最大小值(4)
Java 二维数组,排序.切换顺序,查表法二进制十进制,折半查找.排序(冒泡.选择).遍历,获取最大小值(4)
- NOJ 1012 进制转换(十进制转换成随意进制)
题目: 进制转换 时间限制(普通/Java) : 1000 MS/ 3000 MS 执行内存限制 : 65536 KByte总提交 : 1819 測试通过 : ...
- HDU_2031——十进制转换成R进制
Problem Description 输入一个十进制数N,将它转换成R进制数输出. Input 输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=1 ...
- python---十进制转换成n进制
""" 十进制转换成n进制 例子: 100转换成8进制-----144 256除8 商32 余0 32除8 商4 余0 4除8 商0 余4 每次结果的余数进栈, 最后出栈 ...
- C#,Java,C -循环冗余检验:CRC-16-CCITT查表法
C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ...
- C语言:十进制进制转换为其他进制(思想:查表法)
// // main.c // Hex conversion // // Created by ma c on 15/7/22. // Copyright (c) 2015年 bjsxt. A ...
- java学习进制转换之查表法
10进制转16进制,以及10进制转2进制,还有10进制转8进制,这些转换如果按照常规思路的话,会灰常的麻烦. 我们来看一下 10进制转16进制: 假如这里有一个十进制数字:35,我们的需求就是把这个3 ...
- 经典算法,yuv与rgb互转,查表法,让你的软件飞起来
代码的运算速度取决于以下几个方面 1. 算法本身的复杂度,比如MPEG比JPEG复杂,JPEG比BMP图片的编码复杂. 2. CPU自身的速度和设计架构 3. CPU的总线带宽 4. 您自己代码的写法 ...
- 集合框架-Map集合练习-Map查表法
1 package cn.itcast.p10.map.test; 2 3 import java.util.HashMap; 4 import java.util.Map; 5 6 public c ...
随机推荐
- 数据可视化之DAX篇(二十八)Power BI时间序列分析用到的度量值,一次全给你
https://zhuanlan.zhihu.com/p/88528732 在各种经营分析报告中,我们常常会看到YTD,YOY这样的统计指标,这样的数据计算并不难,尤其是在PowerBI中,因为有时间 ...
- 【最短路+bfs+缩点】Paint the Grid Reloaded ZOJ - 3781
题目: Leo has a grid with N rows and M columns. All cells are painted with either black or white initi ...
- 【C++】初次学习C++指针时的一些易混或疑惑的地方
C++中的指针是一个比较复杂的知识概念,最近我有在学习这一方面的知识,就借此文章记录一下在学习时容易产生的混淆.本人初次发技术类的分享,可能会有纰漏,欢迎诸位指正^_^! 1.*在两种语境下的含义 先 ...
- java基础(六)--常用转义字符
1.换行:"\n"
- pycharm 退出虚拟环境
pycharm 内置虚拟环境 venv 如果要退出就直接 deactivate 命令就行 运行的话直接在命令行输python3 文件名
- Linux中配置端口转发(反向代理)
在conf.d目录下建一个文件, 以conf为结尾(如果没有conf.d目录,就自己新建一个) server { listen 80; server_name 127.0.0.1; #这个IP是你服务 ...
- SpringBoot学习之整合Druid的简单应用
一.Druid介绍 Druid简介 Druid是目前Java语言中最好的数据库连接池之一.结合了 C3P0.DBCP 等 DB 池的优点,同时加入了日志监控.Druid 是一个分布式的.支持实时多维 ...
- ctime使用及datetime简单使用
from time import ctime,sleep def Clock(func): def clock(): print("现在是:",ctime()) func() sl ...
- Rsync服务详解
Rsync简介 什么是rsync? Rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份的优秀工具.Rstync软件适用于unix/linux/windows等多种操作系 ...
- ASP.NET Core 监听SQL Server数据库的实时信息
1.开发环境: 开发工具:Visual Studio 2019 数据库:SQL Server2012 开发环境:.Net Core 3.1 2.使用技术: Signalr:实现消息推送 SqlDepe ...