0
A
回答
8
假設MAX
是在編譯時已知的常數,則此代碼:
typedef int map_t [1<<MAX];
map_t x;
是相同的,因爲這代碼:
int x[1 << MAX];
6
假設MAX被定義爲8:
typedef int map_t[1<<MAX];
與
相同typedef int map_t[256];
1 << 8
因爲= 256這意味着移位位中的數字1 8次向左像這樣:
1是0000 0001在二進制
後1個移:
0000 0010 ,這是十進制
2後8點位移:
1 0000 0000,它是256十進制
所以沒有bitmasking在這裏,它只是簡單的方式說
typedef int map_t[pow(2,MAX)];
我沒有做過ç很多,但上面的應該編譯吧?
編輯:以上不編譯,但如果我們要動態分配它應該工作。
相關問題
- 1. typedef固定長度數組 - >自動擴展大小?
- 2. Javascript數組長度行爲
- 3. javascript數組長度爲1
- 4. 數組長度
- 5. JSON數組長度returing串長度
- 6. 零長度數組
- 7. 數組長度Matlab
- 8. 數組長度 - 環
- 9. 零長度數組
- 10. 數組長度空
- 11. 由數組長度
- 12. Javascript數組顯示長度爲0時的長度
- 13. c#數組的長度始終爲0
- 14. 使用長度爲0的數組?
- 15. ng-show當數組長度爲零時
- 16. 數組顯示長度爲0有時
- 17. 長度爲4-20的數組?
- 18. 二維數組錯誤,長度爲
- 19. jQuery中的數組長度爲零
- 20. Java;二維數組長度
- 21. 數組長度不確定
- 22. 數組中的長度
- 23. 稀疏數組的長度
- 24. Javascript中的數組長度
- 25. 減少數組長度
- 26. Salesforce中的數組長度
- 27. 檢查數組的長度
- 28. Coffeescript,數組長度undefined
- 29. shell腳本數組長度
- 30. 數組長度if語句?
x [1 << MAX]究竟是什麼? – Dimme
...這不是一個位掩碼,而是一個「pow(2,MAX)」整數數組。 – delnan
@Dimme'<<'是「左移」運算符。它將第一個操作數中的所有位移到左邊,其位數等於第二個操作數。 'a << b'大致等於'a * pow(2,b)'。 –