gpt4 book ai didi

c# - 将 Arduino 校验和函数转换为 C#

转载 作者:行者123 更新时间:2023-11-28 06:11:09 25 4
gpt4 key购买 nike

我有这个 Arduino 校验和函数,我想在 C# 中使用它来检查我收到的数据的有效性:

char在Arduino中是1字节长,int是两个字节,C#中对应的data-type是short

char Send::calcChecksum(const char* const packet, const int packetLength) {
int i = 0;
char checksum = 0;
while(i < packetLength) {
checksum ^= packet[i++];
}
return checksum;
}

我如何在 C# 中编写此函数?我特别困惑 ^= 运算符的作用。

最佳答案

using System;

public class Program
{
public static void Main()
{
var stringToCheck = "hi there";

Console.WriteLine("Checksum for " + stringToCheck + ": " + CalcChecksum(stringToCheck, stringToCheck.Length));
}

static int CalcChecksum(string packet, int packetLength)
{
char checksum = (char)0;

for (int i = 0; i < packetLength; i++)
{
checksum ^= packet[i];
}

return checksum;
}
}

https://dotnetfiddle.net/6icpvv

关于c# - 将 Arduino 校验和函数转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31246457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com