首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

API中解释浮点数运算的一些疑问,该如何处理

2012-01-05 
API中解释浮点数运算的一些疑问ints((bits 31)0)?1:-1这句理解,移动31位后第一位表示正负数inte((b

API中解释浮点数运算的一些疑问
int     s     =     ((bits     > >     31)     ==     0)     ?     1     :     -1;                
  这句理解,移动31位后第一位表示正负数    
 
int     e     =     ((bits     > >     23)     &     0xff);                
这句开始有疑问,明白从32-23位表示幂指数部分,但     &     0xff什么意思就不明白了    
 
int     m     =     (e     ==     0)     ?    
                                                              (bits     &     0x7fffff)     < <     1     :    
                                                              (bits     &     0x7fffff)         &brvbar;     0x800000;    
这里同样就不理解了,,只知道m为有效部分,“&”以及     "     &brvbar; "我用AND         和     OR     理解不了,是实现怎样的运算和怎样的运算关系

[解决办法]
&是位运算
由于每一位只能是0或1,所以你只要记住下面的关系就知道怎么算了
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0

0xff是16进制的数,表示00000000 00000000 00000000 11111111
0x7fffff表示00000000 01111111 11111111 11111111
0x800000表示00000000 10001111 11111111 11111111

热点排行