C++(union), C#(伪union)实现 Java的Float.intBitsToFloat()方法
来源:互联网 发布:美女图片源码带采集 编辑:程序博客网 时间:2024/06/16 06:43
java:
C# 虽然没有union,可以自己来实现,挺有意思。
</pre><pre name="code" class="java">int i = Float.intBitsToFloat(132.0232f); //1124337136float f = Float.floatToRawIntBits(i); //132.0232
c++:
inline float intBitsToFloat(int i){ union { int i; float f; } u; u.i = i; return u.f;}inline int floatToRawIntBits(float f){ union { int i; float f; } u; u.f = f; return u.i;}
public static float intBitsToFloat(int v) { byte[] buf = BitConverter.GetBytes(v); return BitConverter.ToSingle(buf, 0); } public static int floatToRawIntBits(float v) { byte[] buf = BitConverter.GetBytes(v); return BitConverter.ToInt32(buf, 0); }
C# 虽然没有union,可以自己来实现,挺有意思。
[StructLayout(LayoutKind.Explicit, Size = 8)] public struct Float { [FieldOffset(0)] int i; [FieldOffset(0)] float f; public static int floatToRawIntBits(float f) { Float u; u.i = 0; u.f = f; return u.i; } public static float intBitsToFloat(int i) { Float u; u.f = 0; u.i = i; return u.f; } };using System.Runtime.InteropServices;
0 0
- C++(union), C#(伪union)实现 Java的Float.intBitsToFloat()方法
- C++Union的用法
- C++Union的用法
- c union
- c union
- c++union
- Union-Find C语言实现
- C的union的应用
- C中union的用法
- c/c++ union的用法
- c/c++语言的union
- C语言union的用法
- C语言Union的使用
- C的struct, union, enum
- [Union]C语言编程中联合Union的学习
- C语言联合体(union)的使用方法及其本质-union
- union(C/C++)使用的一些总结
- c语言实现不同类型数组的print(union + flag)
- 排序的稳定性
- bzoj 4383: [POI2015]Pustynia 线段树优化建图
- BZOJ_P1934 [Shoi2007]Vote 善意的投票(最小割)
- [spoj244]Transposing is Even More Fun 解题报告
- linux上安装Resin
- C++(union), C#(伪union)实现 Java的Float.intBitsToFloat()方法
- JSON练习
- NOIP 2015 d2t1【poj 3258】 River Hopscotch 二分
- 软件开发几大步骤
- Linux中时间、循环、变量、判断
- 怎么获得webshell asp/PHP环境搭建 2016.03.31回顾
- diy数据库系列(引言)
- MarkdownPad2 語法筆記
- Python函数的各种参数(含星号参数)