Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,因此它是on-topic,用于堆栈溢出。
                        
                        5个月前关闭。
                                                                                            
                
        
我有一个.so文件,该文件具有RFID读卡器的C函数,并且正在我的python程序中调用C函数。

C函数类型为unsigned int get_card(),具有unsigned int card作为变量,并以unsigned int格式返回值。

但是,当我在python程序中调用该C函数,并print返回值时,我得到的是负值。

你能帮忙吗?

最佳答案

这是因为您的python代码“不知道”该值是unsigned int,因此,如果二进制数以数字开头(例如,“ 10”等于十进制的2),则python会将其读取为“ -0”(十进制)。因此,您需要在python中创建一个无符号的int变量,然后将返回值复制到新变量中,然后才能进行打印。希望对您有帮助

关于c - 无符号int函数的返回类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58131271/

10-11 22:51
查看更多