1.我的理解是流水線最多200個輪胎,只在入口檢測,到對應(yīng)位置打開對應(yīng)輸出?首先標(biāo)定各個輸出與入口的距離存入數(shù)組(假設(shè)為p1,p2,p3...),然后整個線體一圈假定N個脈沖,計數(shù)器為環(huán)形計數(shù)器最好,不是的話需要程序取余數(shù)但是可能溢出會導(dǎo)致取余數(shù)不準(zhǔn)。當(dāng)入口感應(yīng)到輪胎則記錄當(dāng)前編碼器數(shù)字假設(shè)為P,然后就得到了每個輸出輸出時的位置(P+P1)MOD N,當(dāng)當(dāng)前值大于等于此值時輸出打開一段時間。上述可以構(gòu)造一個200*40的數(shù)組實現(xiàn),然后輸出過后可以再設(shè)置個標(biāo)志位,當(dāng)所有標(biāo)志位ON之后就可以清除這個輪胎的位置數(shù)據(jù)了。
2.可以理解成原本Y0對應(yīng)Y0,Y1對應(yīng)Y1,。。。程序可以先做一次映射,比如Y0--M0,Y1--M1。那么原本的映射關(guān)系可以看成是M0=Y0*1+Y1*0+....所以所要做的是構(gòu)建一個單位矩陣,對角線全為1,映射關(guān)系就是矩陣的乘積,所以輸入數(shù)字改變映射關(guān)系就是改變這個矩陣,也就是每一行1的位置,這個應(yīng)該就沒啥難度了吧,這樣可以實現(xiàn)全輸出任意映射的切換。
3.沒太看懂題目?感覺用個存儲1--8的8個寄存器隊列,移動一次先出后入一次記憶工位,產(chǎn)品對應(yīng)關(guān)系,然后另有8個寄存器存儲報警。報警發(fā)生時,現(xiàn)根據(jù)隊列找到對應(yīng)關(guān)系然后存入報警信息不就好了?
4.怎么提取,輸入起始位置和長度提?要是我就直接整個字符串異或0b1000 0000,因為ASC范圍也就到0X7F,這樣把H00轉(zhuǎn)化成合法字符串用字符串指令操作好再異或回來。
5.二分法,思路很簡單只不過寫的時候細節(jié)很多。