相关疑难解决方法(0)

C# - 将float转换为int ...并根据余数更改int

这可能是一个非常新手的问题(好吧,我很确定它是),但是我有一个浮动正在返回,我需要一种快速有效的方法将它变成一个int.

很简单,但我有一个例外.如果float的其余部分不是.0,那么我想增加int.

一些简单的例子:

Float = 98.0,Int = 98
Float = 98.1,Int = 99
Float = 6.6,Int = 7

c# type-conversion

27
推荐指数
2
解决办法
6万
查看次数

在c#中从double中提取尾数和指数

有没有直接的方法从c#(或一般的.NET)中获取双尾数和指数?

我发现这个使用谷歌的例子,但我不确定它会有多强大.二进制表示可以在框架的某些未来版本中进行双重更改吗?

我发现的另一个替代方法是使用System.Decimal而不是double,并使用Decimal.GetBits()方法来提取它们.

有什么建议?

.net c# floating-point

26
推荐指数
1
解决办法
2万
查看次数

C#相当于Java的Float.floatToIntBits

我一直在用Java编写一个网络库的端口,这是我还没有解密和继续前进的最后一行代码.代码行如下:

Float.floatToIntBits(Float);
Run Code Online (Sandbox Code Playgroud)

返回一个整数.

Java 中floatToIntBits的代码

public static int floatToIntBits(float value) {
        int result = floatToRawIntBits(value);
        // Check for NaN based on values of bit fields, maximum
        // exponent and nonzero significand.
        if ( ((result & FloatConsts.EXP_BIT_MASK) ==
              FloatConsts.EXP_BIT_MASK) &&
             (result & FloatConsts.SIGNIF_BIT_MASK) != 0)
            result = 0x7fc00000;
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

我对内存和十六进制值的经验已经不足以将其移植到我自己身上了,更不用说那些让我疯狂的地方的位移.

c# java types

2
推荐指数
1
解决办法
1110
查看次数

标签 统计

c# ×3

.net ×1

floating-point ×1

java ×1

type-conversion ×1

types ×1