2014-02-27 74 views
2

我目前正在嘗試將C++庫轉換爲python腳本,該腳本基本上控制正交解碼器(LS7366R)。 python腳本將使用spidev庫在樹莓派上運行,以處理數據傳輸。如何將(char)B00000001(C++)轉換爲python等價物?

我試圖做的第一件事是剖析和分析C++ library的每一行。不幸的是,我對C++的知識不是很先進,我不明白這意味着什麼。

this->spiTransfer((char)B00000011); 

我不明白什麼(字符)B00000011呢,更不用說把它翻譯成python了。

任何人都可以幫助我翻譯和理解這是什麼意思?它是一系列字節嗎?我將如何使用spidev python庫中的函數xfer2發送數據?

如果需要,here's該庫的作者解釋瞭解碼器的工作原理。

回答

1

數字常量前面的B(或b)前綴表示它是二進制文件(這是一個常見的擴展名,但是非標準的)。 00000011是二進制的3,所以行this->spiTransfer((char)B00000011);的字面上只是this->spiTransfer((char)3);(char)3等同於ASCII「文本結束」字符。

+0

我很好奇,什麼編譯器支持該擴展?任何可鏈接的文檔? –

+0

GCC支持[二進制常量](http://gcc.gnu.org/onlinedocs/gcc/Binary-constants.html),雖然它通常使用前綴'0b'完成。 –

+0

我知道那個'gcc'的擴展,我最近研究了另一個問題,我沒有看到任何在開始時使用'B'的東西。它也會與標識符混淆。 –

相關問題