码迷,mamicode.com
首页 > 编程语言 > 详细

java中整数类型的2进制表示

时间:2014-06-29 23:24:27      阅读:288      评论:0      收藏:0      [点我收藏+]

标签:java中整数类型的2进制表示

java中的4种整数类型:byte,short,int,long均采用补码表示。

如下图右边所示

bubuko.com,布布扣


在java中对二进制数没有“字面”表示方法。十六进制可以用OX或者Ox指示,八进制可以用O指示。


下面的代码可以输出byte类型的数据的2进制表示形式:

public class Test {
	public static void main(String[] args) {
		byte a = -128;
		test(a);
		
	}
	public static void test(byte m){
			for(int i=7;i>=0;i--) {
				if(((1<<i)&m)!=0)
				System.out.print("1");
				else
				System.out.print("0");
			}
			System.out.println();
		}
}

经测试

byte a = -128,

二进制表示形式为:1000 0000

byte a = -1,

二进制表示形式为:1111 1111

符合上图右边补码表示法。

同理测试short,int,long

故java的整数类型采用的是补码表示法。




在程序里面插入“字面值”,编译器通常能准确知道要生成什么样的类型。但是有些时候,对于类型却是暧昧不清的。若发生这种情况,必须对编译器加以适当的“指导”。方法是用字面值关联的字符形式加入一些额外的信息。

字面值后面的尾随字符可以指导编译器生成具体类型,若为大写或小写L,代表long;若为大写或小写F,代表float;若为大写或小写D,代表double。

java中整数类型的2进制表示,布布扣,bubuko.com

java中整数类型的2进制表示

标签:java中整数类型的2进制表示

原文地址:http://blog.csdn.net/qq1623267754/article/details/35755313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!