labview中?什么?字?布???后?果?示是反向的

labview中?什么?字?布???后?果?示是反向的(?面效果)

 

1.我原先猜測是:因為轉換時不知道數值是多大,為了節省記憶體,數字小的如6就只需要宣告出短短的Boolean[3]={0,1,1}即可
但這個猜測是錯的,實測I32轉換後,他自動分配Array Size為32

2.如果是固定長度,使用Reverse 1D Array,就可以把已知為長度32的Array重新排序,但這樣就要時常排序或反轉index提取,很麻煩

3.剩餘的另一個解釋理由,就是此函數Number To Boolean Array本身是多型的,適用多種輸入。
它內部的架構就是在Front Panel UI上由左往右堆疊,在資料型態上就是Boolean[8], Boolean[16], Boolean[32]逐漸堆長上去。

他可能以Boolean[8]為基礎,靠左貼齊,如有需要延伸出[9~16],再繼續加掛。這樣的架構對多型傳入的函式來說,使用同樣記憶體的情形下,記憶體的宣告與使用上能有較好的效能。

這些是我的猜測...

[QUOTE=Severus]labview中?什么?字?布???后?果?示是反向的(?面效果)[/QUOTE]
2016-6-16 Number To Boolean Array 32-bit Reverse 1D Array (LabVIEW 360).viMingYen42537.7515740741

Array Reverse 1DArray 并?有作用,困惑

不???你回复我,??了那么多分析原因!!??哦!!!

我不知道如何上??片

如果只是單純想顯示二進位的低次方項由右而左的
可以選properties->display format->binary
而number to boolean array把二進位的低次項放在boolean array前面也沒什麼不好
比如透過二進位換算回十進位寫法
次方項可以逐次增加~不是逐次遞減
逐次遞減寫法你還必須先知道最高次到哪才行



example.viRabbit42537.8541898148

[QUOTE=Severus]另

我不知道如何上??片

[/QUOTE]

[Reverse 1D Array]
我建議直接按照我的程式實際親手拉一個,盡可能完全親手完成跟我上面一樣的程式
每增加一個元件就跑跑看數值,逐步增加各個元件,也許可以查出來是什麼原因不能用


例如說,我的data type是使用迴圈裡自動產生的Iteration Number (I32),說不定你的data type來源不是I32,因此某些行為不一樣
但是一個一個建構出來,沒Reverse 1D Array,跟有Reverse 1D Array的兩個結果,你就可以親手比較了 

如果比較發現兩者竟然會一樣,那該要煩惱的應該是NI的RD,不會是你~~~ : )



[上傳圖片]
請參考下圖

??各位!!!!!真的十分感?!!!