进制转换;源、反、补码

2016/01/03 Java

进制概述以及二进制,八进制,十六进制图

title

Java不同进制的数据表现:

二进制:由0,1组成。以0b开头

八进制:由0,1,…7组成。以0开头

十进制:由0,1,…9组成。默认整数是十进制。

十六进制:由0,1,…9,a,b,c,d,e,f(大小写均可)组成。以0x开头

class JinZhiDemo {
	public static void main(String[] args) {
		System.out.println(100); //十进制

		System.out.println(0b100); //二进制
		System.out.println(0100); //八进制
		System.out.println(0x100); //十六进制
	}
}

任意进制到十进制的转换

title

1:得到下面数据的十进制值:

0b10101

=1*2^4 + 1*2^2 + 1*2^0

=16 + 4 + 1

=21

0123

=1*8^2 + 2*8^1 + 3*8^0

=64 + 16 + 3

=83

0x3c

=3*16^1 + c*16^0

=48 + 12

=60

十进制到任意进制的转换

title

2:得到下面数据的二进制,十进制,十六进制

52分别得到二进制,十进制,十六进制

得到二进制:

52 / 2 = 26		0

26 / 2 = 13		0

13 / 2 = 6		1

6  / 2 = 3		0

3  / 2 = 1		1

1  / 2 = 0		1

0b110100

得到八进制:

52 / 8 = 6		4

6  / 8 = 0		6

064

得到十六进制:

52 / 16 = 3		4

3  / 16 = 0		3

0x34

8421码快速进制转换

title

原码反码补码的讲解

title

3:有符号数据表示法练习

已知某数X的原码为10110100B,试求X的补码和反码。

		符号位		数值位

原码:	1			0110100

反码:	1			1001011

补码:	1			1001100

已知某数X的补码11101110B,试求其原码。

		符号位		数值位

补码:	1			1101110

反码:	1			1101101

原码:	1			0010010

以上概念总结于传智播客Java基础课程

Search

    Post Directory