import tango.io.Stdout;
void ConvertFloatToBytes(float Value,inout byte[] Bytes)
{
uint ByteVal1, ByteVal2, ByteVal3, ByteVal4;
asm
{
mov EAX, Value;
and EAX, 0xFF000000;
shr EAX, 24;
mov ByteVal1, EAX;
mov EAX, Value;
and EAX, 0x00FF0000;
shr EAX, 16;
mov ByteVal2, EAX;
mov EAX, Value;
and EAX, 0x0000FF00;
shr EAX, 8;
mov ByteVal3, EAX;
mov EAX, Value;
and EAX, 0x000000FF;
mov ByteVal4, EAX;
}
Bytes[0] = cast(byte)ByteVal1;
Bytes[1] = cast(byte)ByteVal2;
Bytes[2] = cast(byte)ByteVal3;
Bytes[3] = cast(byte)ByteVal4;
}
float ConvertBytesToFloat(byte Bytes[4])
{
float retfloat = 0.0;
uint ByteVal1, ByteVal2, ByteVal3, ByteVal4;
ByteVal1 = cast(uint)Bytes[0];
ByteVal2 = cast(uint)Bytes[1];
ByteVal3 = cast(uint)Bytes[2];
ByteVal4 = cast(uint)Bytes[3];
asm
{
mov EAX, ByteVal1;
shl EAX, 24;
mov retfloat, EAX;
mov EAX, ByteVal2;
shl EAX, 16;
or EAX, retfloat;
mov retfloat, EAX;
mov EAX, ByteVal3;
shl EAX, 8;
or EAX, retfloat;
mov retfloat, EAX;
mov EAX, ByteVal4;
or EAX, retfloat;
mov retfloat, EAX;
}
return retfloat;
}
void main () {
byte[] bb;
bb.length=4;
ConvertFloatToBytes(3.5,bb);
for(int i=0;i<bb.length;i++)
{
Stdout(bb[i]).newline;
}
//结果和VB.net转换后顺序相反
Stdout(ConvertBytesToFloat([64,96,0,0])).newline;
}
分享到:
相关推荐
将float转换为byte数组的过程如下: 1. 首先,我们需要获取float的原始二进制表示。这通常通过位运算或内置的编译器函数(如Java的Float.floatToRawIntBits())完成。 2. 一旦我们有了二进制表示,我们可以按顺序...
Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
Java 基本类型与 byte 数组互相转换 Java 中的基本类型与 byte 数组之间的转换是非常重要的,以下是关于 Java 基本类型与 byte 数组互相转换的相关知识点: 1. short 类型转换成 byte 数组 在 Java 中,short ...
标题和描述提到的“C# Byte数组转Int32 Short Float(浮点数)”是指将字节数组中的数据转换为整型(Int32)、短整型(Short)以及浮点数(Float)的过程。以下是对这个主题的详细解释: **字节数组基础** 字节数组...
"java基本类型与byte数组互相转换" Java基本类型是指Java语言中最基本的数据类型,包括byte、short、int、long、float、double、char、boolean等。这些基本类型在内存中以二进制形式存储,而byte数组是Java中的一种...
这些基本类型可以相互转换,例如将 short 类型转换成 byte 数组、int 类型转换成 byte 数组等。 在 Java 中,基本类型可以使用 bitwise 运算符来实现与 byte 数组的转换。例如,将 short 类型转换成 byte 数组可以...
总结来说,Java中字节数组与16进制字符串之间的转换涉及到位运算、字符映射以及字符串处理。了解这些概念对于处理二进制数据至关重要,特别是在网络编程、文件读写和数据序列化等场景中。希望以上内容能帮助你更好地...
在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...
Float与Byte互转工具,简单,好用 https://blog.csdn.net/kangweijian/article/details/79706672
char short int long float double 转换成byte数组
自己写的float和bytes互相转换的小工具.希望能有帮助.
标题"4BYTE转换成float型代码"指的是将4个字节的数据转换为浮点数(float)的程序代码。在C++或Visual C++(vc)环境中,这通常涉及到低级别内存操作和类型转换。以下是转换过程中涉及的关键知识点: 1. **字节序**...
然而,在某些场景下,我们可能需要将这些基本类型的数据转换为字节数组(byte[]),或者从字节数组中恢复这些基本类型的数据。这在处理网络传输、文件存储或序列化时尤其常见。 转换的基本过程可以分为两个主要步骤...
java写的byte转float值IEEE标准
有时在处理数据时,我们需要将这些基本类型与字节数组(byte arrays)进行转换,特别是在网络通信、文件存储或序列化等场景中。下面我们将详细介绍如何在Java中进行这种转换。 首先,我们要理解字节在计算机内存中...
using System.IO; …… float f1 = 1.1F MemoryStream s = new MemoryStream(); BinaryWriter w=new BinaryWriter(s );
java 对象转换为 byte 数组的 3 种方法 在 Java 中,将对象转换为 byte 数组是一种常见的操作,特别是在使用 Netty 进行通信协议传输的场景中。那么,如何方便地将一个 Java 对象构造成一个 byte 数组呢? 方法 1...
unity AudioClip各种转换 Byte[] float[] , 方便上传服务器,下载播放
在给定的压缩包文件中,重点讲述了`LongInt`、`Float`和`Double`这三种数值类型与字节数组之间的转换。这里我们将详细讨论这些转换的过程以及其在实际应用中的意义。 首先,`LongInt`是表示32位整数的数据类型,...