c# - 如何添加 3 个字节并返回整数?

标签 c# int byte int32

假设我有一个十六进制字符串

00 00 04 01 11 00 08 00 06 C2 C1 BC

第 7、8 和 9 个八位字节是我需要生成的数字。十六进制是

00 06 C2

这个数字原来是 1730。有了以下内容,我该如何简化它?

byte b1 = 0x00;
byte b2 = 0x06;
byte b3 = 0xC2;

Console.WriteLine(Convert.ToInt32((Convert.ToString(b1, 16)) + (Convert.ToString(b2, 16)) + (Convert.ToString(b3, 16)), 16));

我知道必须有更简单的方法。我尝试了 Console.WriteLine((b1 + b2 + b3).ToString()); 但它不起作用。

最佳答案

尝试:

int result = b3 | (b2 << 8) | (b1 << 16);

假设 b1、b2 和 b3 是 byte您需要转换的值。

<< operator将其操作数左移指定的位数。

关于c# - 如何添加 3 个字节并返回整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16580478/

相关文章:

java - 如何循环直到用户输入有效整数?

无需访问库即可将整数转换为字符串

c# - 无法将类型int隐式转换为int数组

c++ - 1字节!= 8位的系统?

java - 如何在Java中将字节数组写入二进制文件

C# 代码分析 - VS 2005

javascript - d3.js 使用 DateTime 和 int 数组创建一个简单的折线图

c# - 如何在 .Net Core 中要求非匿名用户?

c# - 对象引用未设置为对象 ViewData ["Title"] = "Index"的实例;

Golang 按位运算以及一般字节操作