首页 > 编程语言 > 详细

Java的编码

时间:2014-08-10 10:22:10      阅读:581      评论:0      收藏:0      [点我收藏+]
整数的表达
–原码:第一位为符号位(0为正数,1为负数)
–反码:符号位不动,原码取反
–负数补码:符号位不动,反码加1
–正数补码:和原码相同
 
 
  -6      5
原码 10000110 00000101
反码 11111001 01111010
补码 11111010 00000101

                                                      

补码运输的例子:

-6+5                                                         -4+5

  11111010                                                 11111100

+ 00000101                                            + 00000101

= 11111111                                              = 00000001

–打印整数的二进制表示
int a=-6;
for(int i=0;i<32;i++){
  int t=(a & (0x80000000)>>>i)>>>(31-i);
  System.out.print(t);
}
Float的表示与定义 –支持 IEEE 754
• s eeeeeeee mmmmmmmmmmmmmmmmmmmmmmm
• e全0 尾数附加位为0  否则尾数附加位为1, 附加位对应2^0
 •s*m*2^(e-127)

-5的IEEE 754表示.

11000000101000000000000000000000

-1*2^(129-127)*(2^0+2^-2) 红色的部分对应附加位

打印float的IEEE754表示的二进制串

public class FloatString {

public static void main(String[] args){

  float f = 100.2f;
  int intString = Float.floatToIntBits(f);
  if(intString!=0x7f800000||intString!=0xff800000||intString!=0x7fc00000)
  {
    for(int i =0;i<32;i++)
    {
      int t =( intString & (0x80000000>>>i) ) >>> (31-i);
      System.out.print(t);
    }
  }
}
}

 

Java的编码,布布扣,bubuko.com

Java的编码

原文:http://www.cnblogs.com/princessd8251/p/3902437.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!