c# - 如何将 sbyte 值存储在字节变量中?

标签 c# byte unsigned

我正在用 C# 编程。 我有一个 sbyte 变量。 假设它包含 -10,二进制为 11110110。 我想将这个值的二进制表示形式存储在一个字节变量中。 因此,当我将 sbyte (-10) 复制到字节时,字节值将为 245。 如果我尝试使用 Convert.ToByte(sbyte) 它会抛出一个有意义的异常。 我真的不想从一种类型转换为另一种类型,而是进行按位复制。 我该怎么做?

最佳答案

刚投:

byte b = (byte) x;

如果您的代码通常在已检查的上下文中运行,您需要取消选中此操作:

byte b = unchecked((byte) x);

请注意,-10 将变为 246,而不是 245。

关于c# - 如何将 sbyte 值存储在字节变量中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3023205/

相关文章:

c - 为什么从返回 int32_t 的函数返回 0x80000000 不会导致警告?

c# - Entity Framework 4.1 : select by multiple conditions?

c# - razorPDF - 自动页码

c# - 使 C#.NET 中的 IntPtr 指向字符串值

c++ - C++中的无符号 double ?

c - C 中的 unsigned long 和 atoi

C# 在winform上显示来自sql server的表

ios - 有符号整数,算术左移

java - 在 Java 上将字符串分配给字节并在开头指定字符串长度

objective-c - 将整数打包成字节 (NSData)