Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有符号的小吃有意义吗?_C#_Byte_Unsigned_Signed_Nibble - Fatal编程技术网

C# 有符号的小吃有意义吗?

C# 有符号的小吃有意义吗?,c#,byte,unsigned,signed,nibble,C#,Byte,Unsigned,Signed,Nibble,我编写了这个helper方法来将字节解包到半字节上: public static void Deconstruct(this byte value, out byte nibble1, out byte nibble2) { nibble1 = (byte) ((value >> 00) & 0x0F); nibble2 = (byte) ((value >> 04) & 0x0F); } 很自然地,我想对sbyte(有符号字节)也这样做

我编写了这个helper方法来将
字节
解包到半字节上:

public static void Deconstruct(this byte value, out byte nibble1, out byte nibble2)
{
    nibble1 = (byte) ((value >> 00) & 0x0F);
    nibble2 = (byte) ((value >> 04) & 0x0F);
}
很自然地,我想对
sbyte
(有符号字节)也这样做:

但是,至少可以说,
sbyte
有点令人困惑

问题:


当将
sbyte
(有符号字节)解包为半字节时,这些半字节是否也有符号?

无符号。nybles是4位的。如果你认为他们签署了,你必须签署扩展他们。这些额外的比特没有任何价值,当你重新打包它们时,它们就会丢失。为了简单起见,把它们看作是未签名的,即使在打包值被签署的时候。这是有意义的,谢谢。如果你愿意的话,贴一个答案,我会接受的。未签名。nybles是4位的。如果你认为他们签署了,你必须签署扩展他们。这些额外的比特没有任何价值,当你重新打包它们时,它们就会丢失。为了简单起见,把它们看作是未签名的,即使在打包值被签署的时候。这是有意义的,谢谢。如果你愿意,就贴一个答案,我会接受的。
public static void Deconstruct(this sbyte value, out byte nibble1, out byte nibble2)
{
    nibble1 = (byte) ((value >> 00) & 0x0F);
    nibble2 = (byte) ((value >> 04) & 0x0F);
}