文档章节

10进制与2进制,8进制,16进制的相互转换

maskleo
 maskleo
发布于 2015/04/20 10:48
字数 390
阅读 24
收藏 3

理解了原理不管什么进制的都可以类似的转换,只是我在转换时最开始没注意到char 类型的 0 和1 其实对应的int类型的是48 和49

这个明白了一切转换很容易

10进制与2进制的相互转换

 

public static void main(String[] args) {
		int count = 2174;
		//to 2进制
		String str = "";
		while(true){
			str = count%2 + str;
			count = count/2;
			if(count<2){
				str = count%2 + str;
				break;
			}
		}
		System.out.println(str);
		
		String str1 = "100001111110";
		int count1 = 0;
		
		for(int i=str1.length()-1;i>=0;i--){
			int temp = 1;
			for(int j =0;j<str1.length()-i-1;j++){
				temp = temp*2;
			}
			//System.out.println(temp);
			if(str1.charAt(i) == '0'){
				count1 = count1+0;
			}else if(str1.charAt(i) == '1'){
				count1 = count1+temp;
			}
			}
		System.out.println(count1);
		
		System.out.println((int)'0');
	}


10进制与8进制的相互转换

 

 

public static void main(String[] args) {
		int count = 125350566;
		String str = "";
		// to 8进制
		while (true) {
			str = count % 8 + str;
			count = count / 8;
			if (count < 8) {
				str = count % 8 + str;
				break;
			}
		}
		System.out.println(str);

		String count8 = "736131246";
		int count10 = 0;

		for (int i = count8.length() - 1; i >= 0; i--) {
			int temp = 1;
			for (int j = 0; j < count8.length() - i - 1; j++) {
				temp = temp * 8;
			}
			count10 = count10 + temp * (count8.charAt(i) - 48);
		}
		System.out.println(count10);
	}


10进制与16进制的相互转换

 

 

public static void main(String[] args) {

		int count = 32311802;
		String str = "";
		char[] index = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
				'B', 'C', 'D', 'E', 'F' };
		while (true) {
			str = index[count % 16] + str;
			count = count / 16;
			if (count < 16) {
				if (count != 0)
					str = index[count % 16] + str;
				break;
			}
		}
		System.out.println(str);

		String str16 = "1ED09FA";
		int temp = 1;
		int count10 = 0;
		for (int i = str16.length() - 1; i >= 0; i--) {
			for (int j = 0; j < index.length; j++) {
				if (str16.charAt(i) == index[j]) {
					temp = j;
				}
			}
			int temp1 = 1;
			for (int j = 0; j < str16.length() - i - 1; j++) {
				temp1 = temp1 * 16;
			}
			count10 += temp * temp1;
		}
		System.out.println(count10);
	}



 

本文转载自:http://bughope.iteye.com/blog/2017775

maskleo
粉丝 17
博文 128
码字总数 17344
作品 0
深圳
程序员
私信 提问
Java中int的各进制之间的转换

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

pricker
2015/08/23
4.3K
0
Java进制概述及进制间的相互转换

什么是进制? 进制也是进位制,是人们规定的一种进位方法。对于任何一种进制--X进制,就表示某一位置上的数运算时是逢X进一位。十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一...

深情不及酒伴
2017/11/28
0
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
小蚂蚁学习C语言(27)——C语言中的进制转换

学习补码,就需要先把进制的问题再铺垫一下。之前也有记录,不过不够详细,这里再详细的整理一份出来,作为补码的基础。 进制 1,什么叫进制 逢n进1 2,把r进制装换成十进制 2进制,该数值从...

嗜学如命的小蚂蚁
2015/12/23
62
0
2进制转换各进制

2进制转换4进制 2位一分割,不足补0 例如:10010=01,00,10= 102(4进制) 2进制转换8进制 3位分割,不足补0 例如:10010=010,010=22(8进制) 2进制转换16进制 4位一分割,不足补0 例如:100...

Smember
2015/12/01
27
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周四乱弹 —— 当你简历注水但还是找到了工作

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌 :#今日歌曲推荐# 分享成龙的单曲《男儿当自强》。 《男儿当自强》- 成龙 手机党少年们想听歌,请使劲儿戳(这里) @hxg2016 :刚在...

小小编辑
今天
3K
22
靠写代码赚钱的一些门路

作者 @mezod 译者 @josephchang10 如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。 今天给大家分享一个精彩的 GitHub 库,这个库整理...

高级农民工
昨天
5
0
用好项目管理工具,人人都可以成为项目经理

现在市面上的项目管理工具越来越多了,但是大多数都是一些协同工具或轻量项目管理工具。如果是多团队、跨部门使用或者企业级的项目管理,从管理思想到工具运用,需要适应企业的业务流程体系,...

cs平台
昨天
12
0
只需一步,在Spring Boot中统一Restful API返回值格式与统一处理异常

统一返回值 在前后端分离大行其道的今天,有一个统一的返回值格式不仅能使我们的接口看起来更漂亮,而且还可以使前端可以统一处理很多东西,避免很多问题的产生。 比较通用的返回值格式如下:...

晓月寒丶
昨天
70
0
区块链应用到供应链上的好处和实际案例

区块链可以解决供应链中的很多问题,例如记录以及追踪产品。那么使用区块链应用到各产品供应链上到底有什么好处?猎头悬赏平台解优人才网小编给大家做个简单的分享: 使用区块链的最突出的优...

猎头悬赏平台
昨天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部