C# 如何设置UShort变量的MSB?
我有一个UShort变量C# 如何设置UShort变量的MSB?,c#,C#,我有一个UShort变量Temp,它的值为1 如何将此值的最高有效位设置为1。您可以使用或覆盖“最左边”位: ushort temp=1; temp |=1使用或覆盖“最左边”位: ushort temp=1; temp |=1或…因为您知道数据类型的大小: public ushort setHighOrderBit( ushort foo ) { return foo |= 0x8000 ; } [我的错。今早咖啡不够]或者……因为您知道数据类型的大小: public ushort se
Temp
,它的值为1
如何将此值的最高有效位设置为1。您可以使用
或
覆盖“最左边”位:
ushort temp=1;
temp |=1使用或覆盖“最左边”位:
ushort temp=1;
temp |=1或…因为您知道数据类型的大小:
public ushort setHighOrderBit( ushort foo )
{
return foo |= 0x8000 ;
}
[我的错。今早咖啡不够]或者……因为您知道数据类型的大小:
public ushort setHighOrderBit( ushort foo )
{
return foo |= 0x8000 ;
}
[我的错。今早没有足够的咖啡]这应该可以:
ushort value = 307;
byte lsb = (byte)(value & 0xFFu);
byte msb = (byte)((value >> 8) & 0xFFu);
这应该起作用:
ushort value = 307;
byte lsb = (byte)(value & 0xFFu);
byte msb = (byte)((value >> 8) & 0xFFu);
否,无符号常量将在左侧加零,有符号常量将进行符号扩展。在任何情况下都不会进行右填充。不,无符号常量将在左侧进行零填充,有符号常量将进行符号扩展。在任何情况下都不会发生正确的填充。