回答
Java字符串。底層Java String由一個包含3個字段的對象組成,其中一個指向包含字符的單獨數組對象。另外當然,Java字符串由16位字符組成。
如果您擔心所有其他標準的內存使用情況,請勿使用Java。但對於大多數應用程序而言,內存使用率是您最擔心的問題。
值得注意的是,1,000,000,000可以用Java int
來表示,它將與C有符號或無符號(32位)整數大小相同。
此外,一個C int
是不一定大到足以代表1,000,000,000。在某些平臺上,int
是16位,這是C標準允許的。
Y - 爲了澄清,C將int定義爲本地機器字大小(因此int可以是16,32或64位等)。我想技術上來說C int可能是1Bbit在512bit機器語言場景中效率最低的存儲器,但希望我不會看到這一點。 – StuartLC 2010-08-28 11:08:00
@nonnb - 在技術上絕對正確,C標準說'int'的範圍至少是-32758到+32767。它可以(而且往往)比這更大。然而,標準說*絕對沒有*關於'int'與「本地機器字」大小相同。 – 2010-08-28 11:19:51
老實說,我真的不希望直接回答這個問題,所以你可以在看在這裏:
- http://www.cplusplus.com/doc/tutorial/variables/
- http://en.wikipedia.org/wiki/C_variable_types_and_declarations
- http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
此外,它可能是有用如何二進制和十進制之間的轉換:
C標準沒有說明許多存儲要求。正因爲如此,你可以有:
- 256位C
int
s表示需要32個字節來存儲任何東西(見@ nonnb的評論) - 寬C字符串(
wchar_t[]
)使用UCS-4/UTF -32字符(因爲所有的GNU實現做,顯然) - 使用32位
char
秒(這將必須在系統上使用32位字節)
順便說一句,21位或更大的'wchar_t'是符合C實現可以支持所有Unicode的唯一方法。這也是推薦的方法(請參閱C99中的__STDC_ISO_10646__宏)。具有16位'wchar_t'的實現簡單地被破壞了。 – 2010-08-28 11:45:52
多字符序列呢?那麼UTF-8和16呢? – aib 2010-08-29 10:36:49
- 1. PHP名稱空間可以包含變量嗎?
- 2. 當包含部分內容時,我可以傳遞php變量嗎?
- 3. BASH變量僅包含空間
- 4. 保存包含空變量的字符串供以後使用
- 5. 包含變量作爲模板變量的一部分?
- 6. 分配內存以包含結構
- 7. 較大的內存空間
- 8. 可以處理的最大內存空間
- 9. Xcode 3和Xcode 4 IDE包中的哪些部分可以刪除以節省內存空間
- 10. 在函數內部分配名稱空間變量
- 11. 從Cuda傳輸大量可變內存
- 12. 包含圖像的底部空間
- 13. MATLAB可以分配的最大內存量是多少?
- 14. 內存空間大嗎?
- 15. RSS是否包含內核空間內存?
- 16. 變量是空的包含文件中
- 17. 爲矢量分配大量的空間
- 18. 包含在戰爭中的罐子佔用大量空間
- 19. 可以局部變量分配嗎?
- 20. 分裂容納空間分隔的「鍵=值」對時的值也可以包含空間
- 21. 如何連接包含空格的局部變量
- 22. 我可以從名稱空間的一部分創建lib或外部包嗎?
- 23. 變量的內存分配
- 24. 變量的內存分配
- 25. 如何去包含一個浮動區域內的浮動變量空間
- 26. 在豎琴/ ejs中包含部分包含字符串的變量
- 27. Arduino上的C++矢量佔用大量內存空間
- 28. 分配內存以可變在c#
- 29. 可以#define包含以前定義的變量嗎?
- 30. 爪哇 - 是否空變量需要的內存空間
作業AC執行? _____ – kennytm 2010-08-28 10:48:20
奇怪的問題?最浪費的代表將是一個unicode字符串,假設在C中使用字符串char [] – StuartLC 2010-08-28 10:50:55
C中的字符串也可以是unicode ... – 2010-08-28 10:57:38