6

C のように、ruby には符号付き整数と符号なし整数がありますか? ある場合、String クラスの length メソッドは符号付き整数を返すということですか? (C の整数は、指定されていない場合は符号付きを意味するため)

4

3 に答える 3

8

Rubyは、該当する場合、Ruby整数が自動的にBigNum(任意長整数)に拡張されるため、符号付き/符号なしの区別が無関係になるように整数を実装します。

これにより、整数のオーバーフローが効果的に防止されます。これが、Cのような固定サイズの整数を使用する言語の符号を気にする主な理由です。

于 2013-03-12T11:27:04.283 に答える
3

いいえ。

ドキュメントに記載されているように:

Rubyは整数と浮動小数点数をサポートしています。整数は任意の長さにすることができます(システムの空きメモリの量によって決定される最大値まで)。

これらの整数は常に符号付きです。

于 2013-03-12T11:27:45.467 に答える
2

Rubyでは型が動的であるため、Rubyに特定の形式として数値を格納するように強制することは無意味です。

Rubyは、内部メカニズムによって整数を格納します。だから、Rubyにあなたの番号を保存する方法を決めさせてください。

于 2013-03-12T11:27:21.473 に答える