Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.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
python和c#函数中结果的差异_C#_Python_Raspberry Pi - Fatal编程技术网

python和c#函数中结果的差异

python和c#函数中结果的差异,c#,python,raspberry-pi,C#,Python,Raspberry Pi,我正在用C#/Mono和Python玩树莓Pi。我目前正在将一些代码从Python转换为C#,返回的值不同 当调整电位计并重复对这些函数进行采样时,我在Python中得到0-1023,在C#中得到0-2047 是什么造成了这种差异?我对Python非常陌生 在python中,此函数生成0到1023之间的值(调整电位计时) def readadc(adcnum、时钟引脚、mosipin、misopin、cspin): 如果((adcnum>7)或(adcnum

我正在用C#/Mono和Python玩树莓Pi。我目前正在将一些代码从Python转换为C#,返回的值不同

当调整电位计并重复对这些函数进行采样时,我在Python中得到0-1023,在C#中得到0-2047

是什么造成了这种差异?我对Python非常陌生

在python中,此函数生成0到1023之间的值(调整电位计时)

def readadc(adcnum、时钟引脚、mosipin、misopin、cspin):
如果((adcnum>7)或(adcnum<0)):
返回-1
GPIO.output(cspin,True)
GPIO.输出(时钟引脚,假)#启动时钟低
GPIO.output(cspin,False)#使CS变低
commandout=adcnum
命令输出|=0x18#起始位+单端位

commandout在Python实现的末尾,您正在转换一点分辨率:

adcout >>= 1       # first bit is 'null' so drop it
return adcout
C#实现中不存在相同的代码:

return adcout;

右移一位相当于除以二。因此,C#版本将返回两倍高的值是有道理的。

Doh!令人惊讶的是,第二双眼睛会做什么。谢谢
adcout >>= 1       # first bit is 'null' so drop it
return adcout
return adcout;