文档章节

10进制转2进制和16进制

sitaluoduoxi
 sitaluoduoxi
发布于 2016/07/26 22:13
字数 305
阅读 3
收藏 0
//看到论坛说面试遇到,就尝试写

public class Test {

	public static void main(String[] args) {
		System.out.println(toBinary(9));
		System.out.println(toHex(559));
		System.out.println(Integer.toBinaryString(9));
		System.out.println(Integer.toHexString(559));
	  /*1001
		22F
		1001
		22f*/
	}
	
	public static String toBinary(int n){
		StringBuilder temp = new StringBuilder();
		while(n/2 >=1 || n%2 == 1){//除2取余, (|| n%2 == 1) 在次为了补上最后一个0或者1
			temp.append(n%2);
			n = n/2;
		}
		return temp.reverse().toString();
	}
	/**
	 10进制转16进制:
	    将给定的十进制整数除以基数16,余数便是等值的16进制的最低位。 
	    将上一步的商再除以基数16,余数便是等值的16进制数的次低位。 
	    重复上一步骤,直到最后所得的商等于0为止。各次除得的余数,便是16进制各位的数,最后一次的余数是最高位
	 */
	public static String toHex(int n){
		/*思路:除16取余*/		
		StringBuilder temp = new StringBuilder();
		while(n/16 >= 1){
			int aa = n/16;
			int bb = n%16;
			//0123456789 10 11 12 13 14 15
			//0123456789 A  B  C  D  E  F
			String str = "";
			if(bb == 10){
				str = "A";
			}else if(bb == 11){
				str = "B";
			}else if(bb == 12){
				str = "C";
			}else if(bb == 13){
				str = "D";
			}else if(bb == 14){
				str = "E";
			}else if(bb == 15){
				str = "F";
			}else{
				str = bb+"";
			}
			temp.append(str);
			n = aa;
			if(n/16 < 1){//补上最后一位
				temp.append(n);
			}
		}
		return temp.reverse().toString();
	}
}

 

© 著作权归作者所有

sitaluoduoxi
粉丝 0
博文 34
码字总数 26821
作品 0
广州
后端工程师
私信 提问
C/C++进制转换超详细

16转10 用竖式计算: 16进制数的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方 -代码 16转2 由于在二进制的表示方法中,每四位所表示的数的最大值对应16进制的1...

---dgw博客
2017/12/18
0
0
总结linux下printf命令的用法

printf -- format and print date 通过printf的选项格式化输出数据 参考: http://www.computerhope.com/unix/uprintf.htm 基本英文学习 二进制:binanry number 八进制:otcal number 十进制:...

cuizhiliang
2017/01/08
0
0
node Buffer模块急速入门

1. 什么是Buffer 缓冲区Buffer是暂时存放输入输出数据的一段内存。 JS语言没有二进制数据类型,而在处理TCP和文件流的时候,必须要处理二进制数据。 NodeJS提供了一个Buffer对象来提供对二进...

lio-mengxiang
03/06
0
0
Java中int的各进制之间的转换

一、二、八、十、十六进制之间的转换 int n1 = 14; //十进制转成十六进制: Integer.toHexString(n1); //十进制转成八进制 Integer.toOctalString(n1); //十进制转成二进制 Integer.toBinary...

pricker
2015/08/23
4.3K
0
Linux Shell 不同进制数据转换

shell可以在不调用第3方命令,表示不同进制数据。这里总结以下表示方法。shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值。如:以...

Foundation
2015/10/16
209
0

没有更多内容

加载失败,请刷新页面

加载更多

Dubbo-自适应拓展机制

背景 在 Dubbo 中,很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等,这些都是Dubbo的基础组件。这些基础组件的拓展不是在系统框架启动阶段被加载,而是拓展方...

rock-man
17分钟前
4
0
Kali安装fcitx输入法(五笔)

安装fcitx > sudo apt-get install fcitx-rime fcitx-config-gtk3 重启 > sudo reboot fcitx配置 效果就是这样 配置输入法切换 系统设置...

yeahlife
19分钟前
3
0
IE之css3效果兼容

本文转载于:专业的前端网站▷IE之css3效果兼容 一、兼容css阴影效果(ie滤镜) 1.Shadow,阴影 .shadow { -moz-box-shadow: 3px 3px 4px #000; -webkit-box-shadow: 3px 3px 4px #000; box-sha...

前端老手
22分钟前
3
0
NiushopB2C开源商城功能列表说明:

B2C单商户免费版:PC商城+微商城 B2C单商户标准版:PC商城+微商城组合套餐+阶梯优惠核销功能 B2C单商户企业版:PC商城+微商城拼团+组合套餐阶梯优惠+核销功能 B2C单商户分销版:PC商城+微商城...

niushop-芳
24分钟前
3
0
图片如何转GIF图片呢

如何将生活中拍摄的好玩有趣的图片制作成GIF动图呢?相信很多小伙伴都不知道要如何制作,其实制作方法非常的简单,下面分享一个图片转GIF动图的方法,希望这个方法能够帮助大家在与好友斗图时...

白米稀饭2019
30分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部