using
System
.
Collections
.
Generic
;
using
System
.
ComponentModel
;
using
System
.
Data
;
using
System
.
Drawing
;
using
System
.
Text
;
using
System
.
Windows
.
Forms
;
using
System
.
IO
;
using
System
.
Threading
;
using
System
.
Runtime
.
InteropServices
;
namespace
BitConverter
public
partial
class
Form1
:
Form
public
Form1
(
)
InitializeComponent
(
)
;
private
void
button1_Click
(
object
sender
,
EventArgs
e
)
byte
[
]
byteArray
;
byteArray
=
System
.
BitConverter
.
GetBytes
(
1234.5678
)
;
MessageBox
.
Show
(
System
.
BitConverter
.
ToString
(
byteArray
)
)
;
private
void
button2_Click
(
object
sender
,
EventArgs
e
)
byte
[
]
bb
=
new
byte
[
8
]
;
bb
[
0
]
=
0xAD
;
bb
[
1
]
=
0xFA
;
bb
[
2
]
=
0x5C
;
bb
[
3
]
=
0x6D
;
bb
[
4
]
=
0x45
;
bb
[
5
]
=
0x4A
;
bb
[
6
]
=
0x93
;
bb
[
7
]
=
0x40
;
double
i
=
System
.
BitConverter
.
ToDouble
(
bb
,
0
)
;
MessageBox
.
Show
(
i
.
ToString
(
)
)
;
因为需要用工控机的GPIO进行通讯,所以才了解一下浮点和16进制的转换。
存入内存时需要发送和接受实际的地址的内容,也就是读取到物理地址后还需要读取到实际的value。
流程相当于DllImport----setphyport----setvalue。
文章目录前言一、结果图片二、源码如下(附加解释说明)1.引入库总结前言读取写入内存时会使用浮点类型转换成16进制,总结一下c#中方法和相关的程序。一、结果图片二、源码如下(附加解释说明)1.引入库代码如下(示例):using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;u
有时候,笔者遇到需要将浮点数转换成十六进制数后,与其他设备相互进行通信的情况。所以,为了便于验证数据是否正确和练习C#编程,就写了一个小小小小小工具。
首先是要读取TextBox中输入的浮点数(包括单精度float和双精度double),具体方法程序参考笔者之前的博客C#使用TextBox作数据输入方法
既然是两种数据类型互转,所以还以使用TextBox输入十六进制数。具体方法程序如下:
private void button3_Click(object sender, EventArgs e)
string str = "hello world";
byte[] bytes = Encoding.Default.GetBytes(str);
string hexString = BitConverter.ToString(bytes).Replace("-", "");
首先,使用 `Encoding.Default.GetBytes()` 方法将字符串转换为字节数组。然后,使用 `BitConverter.ToString()` 方法将字节数组转换为16进制字符串,并使用 `Replace()` 方法将其中的横杠 `-` 去掉,最终得到的就是一个16进制的字符串。如果需要将16进制字符串转换回字节数组,可以使用 `BitConverter` 类中的 `Parse()` 或者 `TryParse()` 方法。
Unity使用c#开发HoloLens2项目(十八)(使用MRTK后点击 Holographic Remoting For Play Mode无反应或Remote Host Port是多少)
我的创作纪念日