2013-03-12 90 views
4

與C一樣,ruby是否有符號和無符號整數,如果它確實那麼這是否意味着String類的長度方法返回有符號整數? (因爲如果未指定,則以C整數隱含有符號)Ruby中的帶符號和無符號整數

回答

6

Ruby以這樣的方式實現整數,即signed/unsigned的區別是不相關的,因爲Ruby整數在適用時會自動擴展到BigNum(任意長度整數)。

這有效地防止整數溢出,這是恕我直言,最主要的原因,人們關心的符號性與固定大小的整數像C.

+0

謝謝。我只擔心整數溢出問題。 – user1484793 2013-03-12 11:37:08

2

語言由於類型是Ruby的動態,迫使Ruby來存儲數字值一個特定的格式是沒有意義的。

Ruby將通過其內部機制存儲整數。所以,讓Ruby決定如何存儲你的號碼。

3

截至the documentation一個非常簡短的表情就會告訴你:

Ruby支持整數和浮點數。整數可以是任意長度(最大值取決於系統的可用內存量)。

這些整數總是有符號的。