C# 如何将两个字节“相加”

C# 如何将两个字节“相加”,c#,byte,C#,Byte,我有一个奇怪的场景,请参阅以了解更多详细信息,我需要将两个字节的数据添加到一起。显然,这是不正常的。以下是场景: 我正试图使坐标失去控制。当控件的宽度小于256时,x坐标需要一个字节,否则需要两位 我现在有一个控件的实例,它的宽度大于256。如何将这两个数字相加 例如: 2+0不是2,因为2是高字节,或者可能是低字节,它是2。。。 我说得通吗?如果是这样,我如何在C中进行这种加法 更新:很抱歉这个令人困惑的问题。我想我明白了。请看下面我的答案。你的意思是 256 * high + low 你的

我有一个奇怪的场景,请参阅以了解更多详细信息,我需要将两个字节的数据添加到一起。显然,这是不正常的。以下是场景:

我正试图使坐标失去控制。当控件的宽度小于256时,x坐标需要一个字节,否则需要两位

我现在有一个控件的实例,它的宽度大于256。如何将这两个数字相加

例如:

2+0不是2,因为2是高字节,或者可能是低字节,它是2。。。 我说得通吗?如果是这样,我如何在C中进行这种加法


更新:很抱歉这个令人困惑的问题。我想我明白了。请看下面我的答案。

你的意思是

256 * high + low

你的意思是

256 * high + low

为了防止其他人需要这个,我正在寻找:

BitConverter.ToInt16

.

为了防止其他人需要此功能,我正在寻找:

BitConverter.ToInt16

.

使用乘法的方法非常清楚,但在按位字中并不常见,而使用位转换器的方法采用字节数组,这在许多情况下并不方便

执行此操作最常见和最简单的方法-使用位运算符:

var r = (high << 8) | low;

记住,因为哪个字节高,哪个字节低并不总是很明显。

乘法的方法非常清楚,但在按位字中并不常见,而使用位转换器的方法采用字节数组,这在许多情况下并不方便

执行此操作最常见和最简单的方法-使用位运算符:

var r = (high << 8) | low;

记住,因为不总是很明显哪个字节高,哪个字节低。

我说得通吗?:不,绝对不。。。为什么首先要使用字节,而不是像int这样更合适的类型?…嗯?你为什么要担心字节呢?宽度是一个整数。我跟你打赌1000000.00你可以用bool变量来解它。@Hamish Grubijan-也许吧,但我需要大约1000000 bool。一个字节,两个比特,8是一顿饭:-我说得通吗?:不,绝对不。。。为什么首先要使用字节,而不是像int这样更合适的类型?…嗯?你为什么要担心字节呢?宽度是一个整数。我打赌1000000.00你可以用bool变量来解它。@Hamish Grubijan-也许,但我需要大约1000000 bool。一个字节,两个比特,8是一顿饭:-你到底为什么需要这个?“这就是我感兴趣听到的……”Ed Swangren——问得好。不幸的是,这是一个很长的答案。如果你读了这个问题,你会看到我想做什么:更具体地说,是关于这个问题的第三条评论,你到底为什么需要这个?“这就是我感兴趣听到的……”Ed Swangren——问得好。不幸的是,这是一个很长的答案。如果你读了这个问题,你会看到我想做什么:更具体地说,是关于这个问题的第三条评论