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

求 java 的 Float 下部的一个方法 C# 的算法

2013-09-27 
求 java 的 Float 下面的一个方法 C# 的算法求这两个算法Float.floatToRawIntBits(paramFloat)Double.doub

求 java 的 Float 下面的一个方法 C# 的算法
求这两个算法
Float.floatToRawIntBits(paramFloat)
Double.doubleToRawLongBits(paramDouble)

这个是反的,
private float intBitsToFloat(int bits)
        {
            int s = ((bits >> 31) == 0) ? 1 : -1;
            int e = ((bits >> 23) & 0xff);
            int m = (e == 0) ?
              (bits & 0x7fffff) << 1 :
              (bits & 0x7fffff) | 0x800000;

            return (float)(s * m * Math.Pow(2, e - 150));
        }

        private double longBitsToDouble(long bits)
        {
            int s = ((bits >> 63) == 0) ? 1 : -1;
            int e = (int)((bits >> 52) & 0x7ffL);
            long m = (e == 0) ?
                            (bits & 0xfffffffffffffL) << 1 :
                            (bits & 0xfffffffffffffL) | 0x10000000000000L;

            return (s * m * Math.Pow(2, e - 1075));
        }
------解决方案--------------------


C#用BitConverter

热点排行