- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
代码的目的是将两个字节合并为ushort。所有变量都是ushort类型,但M_hi和M_lo加载的是一个字节。我最初将它们作为字节,但发生了这个错误,所以我尝试使用 ushort 第一部分屏蔽了较高的字节。我最初试图用它来防止这个错误,因为我认为编译器认为它可能会溢出。虽然它没有解决它,但我决定暂时保留它。然后它与 0x100 相乘,有效地将它移动到较高字节的位置。最后加上第二个值作为低字节。
cv.M = ((cv.M_hi & 0x00FF) * 0x100) + cv.M_lo;
这些值是从一个字节数组中读取的,它以小端字节序存储数据,所以我需要做这样的事情来组合它们以使用 ushort 值(不,我不能将整个数组转换为大端字节序) .
无论哪种方式,我都知道我使用的算法应该可以工作,但有些东西会阻止它按原样工作。还有其他方法吗?我也试过检查 ToInt16 方法,但 Unity 似乎没有。
最佳答案
根据 https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/ushort#conversions当添加两个 ushort 类型的变量时,结果是一个 int。这意味着 ((cv.M_hi & 0x00FF) * 0x100) + cv.M_lo;
的实际类型是 int
。
这可以通过显式转换轻松解决:
cv.M = (ushort)( ((cv.M_hi & 0x00FF) * 0x100) + cv.M_lo);
关于C# - 尝试将两个字节转换为 ushort 导致 "Cannot implictly convert type ' int' to 'ushort' "error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53723889/
我有一个递归模板,类似于下面的内容: 它工作正常,我使用 $implicit 发送 jsonObj1,但我想发送两个参数到 ,如果我尝试: context: {$implicit:jsonOb
检查 fs2 教程,我偶然发现了以下代码 def client[F[_]: MonadCancelThrow: Console: Network]: F[Unit] = Network[F].cl
函数 gcvt 包含在 stdlib.h 中。当我尝试编译它时: gcc -std=c99 problem.c 2.c -o problem 我得到了信息: warning: imp
我在 Ubuntu 中使用 Postgres 9.6。 有很多表和很多外键,当我删除某些数据时,它会隐式生成相应的命令来清理外键。 当长时间运行的 DELETE 语句被中断时,这可以被“看到”,例如C
代码的目的是将两个字节合并为ushort。所有变量都是ushort类型,但M_hi和M_lo加载的是一个字节。我最初将它们作为字节,但发生了这个错误,所以我尝试使用 ushort 第一部分屏蔽了较高的
我是一名优秀的程序员,十分优秀!