Cannotconverttype'int'to'ushort':articulatedint'到'usort'ushort商=((12*(ushort)(channel))/16);我正在使用.NetMicro框架,因此BitConverter不可用。为什么我首先使用ushort与我的数据如何通过SPI发送有关。我可以理解这个特定的错误已在该站点上出现,但我不明白为什么当我明确表示我不关心是否有任何数据丢失并且只是将32位切成16位时我会很高兴。publicvoidSetGreyscale(intchannel,intpercent){//计算0到4095范围内的值代表pwm灰度数据:参考数据表,2^12-1ushortvalue=(ushort)System.Math.Ceiling((double)百分比*40.95);//确定GsData中我们的数据开始的索引位置ushortquotient=((12*(ushort)(channel))/16);//有12个16位我宁愿不改变int通道,也不要改变通道。我该如何修复错误?(ushort)channel是ushort但12*(ushort)(channel)将是int,而不是:ushortquotient=(ushort)((12*channel)/16);任何int和更小类型的乘积都会得到int。所以在你的情况下12*ushort产生int。ushort商=(ushort)(12*通道/16);请注意,上面的代码并不完全等同于原始示例——如果通道值超出ushort范围(0..0xFFFF),则可能会显示通道转换为ushort。改变结果。如果重要的话,你仍然需要内部演员表。与上面更通用的代码(给出49152结果)不同,以下示例将为channel=0x10000(这是有问题的原始样本)生成0:ushort':已清楚地表达了共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——ushortquotient=(ushort)((12*(ushort)channel)/16);本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
