C# 将一些位左移到现有的数字中

C# 将一些位左移到现有的数字中,c#,.net,bit,bit-shift,C#,.net,Bit,Bit Shift,我有以下现有整数: 128=1000.0000 我想把下面的整数向左移动2个位置 15=0000.1111 。。。到bitindex 6的现有编号: MyResult应为=1011.1100=188 我试过这个,但结果是错误的。另外,如果我将位置stoshift更改为2: int existingNumber = 128; int numberToLeftShift = 15; int positionsToShift = 6; int myResult = (existingNumber &

我有以下现有整数:

128=1000.0000

我想把下面的整数向左移动2个位置

15=0000.1111

。。。到bitindex 6的现有编号:

MyResult
应为=1011.1100=188

我试过这个,但结果是错误的。另外,如果我将
位置stoshift
更改为2:

int existingNumber = 128;
int numberToLeftShift = 15;
int positionsToShift = 6;

int myResult = (existingNumber << positionsToShift) | numberToLeftShift;
int existingNumber=128;
int numberToLeftShift=15;
int positionsToShift=6;

int myResult=(existingNumber根据您的文本描述,您应该使用

var myResult = (numberToLeftShift << positionsToShift) | existingNumber;

var myResult=(numberToLeftShift根据您的文本描述,您应该使用

var myResult = (numberToLeftShift << positionsToShift) | existingNumber;

var myResult=(numberToLeftShift根据您想要的解释
numberToLeftShift

  15 << 2

15根据您的解释,您希望
numberToLeftShift
移位

  15 << 2

15输入错误?
var myResult=(numberToLeftShift输入错误?
var myResult=(numberToLeftShift值得向OP注意的是,如果您想使用数字3并将其置于位置6,则需要修改此逻辑以计算出需要多少移位。鉴于不清楚是否会使用15以外的数字,但这可能并不相关。值得向OP注意的是,如果您想o使用数字3并将其放在位置6,然后您需要修改此逻辑以计算出需要多少移位。鉴于不清楚是否会使用15以外的数字,但这可能不相关。