C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: パソコンに依存する内容


(過去ログ 25 を表示中)

[トピック内 11 記事 (1 - 11 表示)]  << 0 >>

■11497 / inTopicNo.1)  パソコンに依存する内容
  
□投稿者/ 幸広 (1回)-(2007/12/16(Sun) 03:52:31)

分類:[.NET 全般] 

2007/12/16(Sun) 17:47:20 編集(投稿者)
2007/12/16(Sun) 17:47:17 編集(投稿者)

前にこちらでの質問で
型stringに入る最大文字数はパソコンに依存するという
回答が書かれていたのを拝見したのですが、
具体的にstringに入る文字の限界や配列のインデックス数
の最大値は、パソコンの依存するという内容を例えて
どのぐらいなのかその例えに対してスペックはどのぐらいなのかを
教えていただけないでしょうか。

興味があります。お願い致します。
引用返信 編集キー/
■11498 / inTopicNo.2)  Re[1]: パソコンに依存する内容
□投稿者/ はつね (371回)-(2007/12/16(Sun) 09:32:12)
はつね さんの Web サイト
2007/12/17(Mon) 07:18:46 編集(投稿者)

No11497 (幸広 さん) に返信
> 前にこちらでの質問で
> 型stringに入る最大文字数はパソコンに依存するという
> 回答が書かれていたのを拝見したのですが、

その前後の話の流れが分からないので、URLを示して頂けると助かります。

なぜならば、.NETのString型の仕様としての最大文字数はパソコンには依存しません。
ただし、パソコンのメモリ量やOS、その時点での空きメモリ量によってはその仕様上の最大文字数に達しなくても限界を迎える事があります。
よって、かならずしも仕様上の最大値まで使えるとは限らないという情報ではありますが、どれくらいだったらどこまで使えるというような定量的な判断は困難であると考えます。

[2007/12/17 07:18 一部訂正]
最大文字数はOSには依存します。

引用返信 編集キー/
■11503 / inTopicNo.3)  Re[2]: パソコンに依存する内容
□投稿者/ 幸広 (2回)-(2007/12/16(Sun) 17:49:00)
No11498 (はつね さん) に返信
> ■No11497 (幸広 さん) に返信
>>前にこちらでの質問で
>>型stringに入る最大文字数はパソコンに依存するという
>>回答が書かれていたのを拝見したのですが、
>
> その前後の話の流れが分からないので、URLを示して頂けると助かります。
>
> なぜならば、.NETのString型の仕様としての最大文字数はパソコンには依存しません。
> ただし、パソコンのメモリ量やOS、その時点での空きメモリ量によってはその仕様上の最大文字数に達しなくても限界を迎える事があります。
> よって、かならずしも仕様上の最大値まで使えるとは限らないという情報ではありますが、どれくらいだったらどこまで使えるというような定量的な判断は困難であると考えます。

ごめんなさいURLが分かりません。

では基本的に最大文字数や最大配列インデックス数はあって、そこからパソコンのメモリなどによってそこまで到達しないということですか。だとしたら基本的な最大数はいくつなのでしょうか
お願いします
引用返信 編集キー/
■11504 / inTopicNo.4)  Re[3]: パソコンに依存する内容
□投稿者/ なちゃ (83回)-(2007/12/16(Sun) 18:04:52)
何を知りたいのかよく分からないんですが

>>よって、かならずしも仕様上の最大値まで使えるとは限らないという情報ではありますが、どれくらいだったらどこまで使えるというような定量的な判断は困難であると考えます。

これを読んだ上で、さらに何を知りたいと思っていますか?
例えばここまでなら保証されてるとか確実に使えるとかそういう事でしょうか?
残念ながらそのような保証されてる数値というのは有りません。

引用返信 編集キー/
■11506 / inTopicNo.5)  Re[3]: パソコンに依存する内容
□投稿者/ カンタービレ (127回)-(2007/12/16(Sun) 21:10:57)
> では基本的に最大文字数や最大配列インデックス数はあって、そこからパソコンのメモリなどによってそこまで到達しないということですか。だとしたら基本的な最大数はいくつなのでしょうか
> お願いします

見当違いなレスだったらスミマセン。

試したコトないですが、例えばStringクラスのLengthプロパティはInt(VBではInteger)デスから
そのプロパティの表現可能な範囲を超えて格納することは想定していないと思いマスが・・・。
OSが64Bitと32BitでIntのサイズは違いマスが、その最大値を知りたいってコトでしょうか?

引用返信 編集キー/
■11518 / inTopicNo.6)  Re[4]: パソコンに依存する内容
□投稿者/ 幸広 (3回)-(2007/12/17(Mon) 01:26:32)
No11506 (カンタービレ さん) に返信
>>では基本的に最大文字数や最大配列インデックス数はあって、そこからパソコンのメモリなどによってそこまで到達しないということですか。だとしたら基本的な最大数はいくつなのでしょうか
>>お願いします
>
> 見当違いなレスだったらスミマセン。
>
> 試したコトないですが、例えばStringクラスのLengthプロパティはInt(VBではInteger)デスから
> そのプロパティの表現可能な範囲を超えて格納することは想定していないと思いマスが・・・。
> OSが64Bitと32BitでIntのサイズは違いマスが、その最大値を知りたいってコトでしょうか?

ごめんなさい、質問内容自体も良く分からないで質問してたところがあったかもしれません。
OSでサイズが違うのは知りませんでしたが、違うのでしたら教えていただけますでしょうか


引用返信 編集キー/
■11521 / inTopicNo.7)  Re[5]: パソコンに依存する内容
□投稿者/ PATIO (11回)-(2007/12/17(Mon) 11:02:47)
No11518 (幸広 さん) に返信
> ごめんなさい、質問内容自体も良く分からないで質問してたところがあったかもしれません。
> OSでサイズが違うのは知りませんでしたが、違うのでしたら教えていただけますでしょうか

既にカンタービレさんも書かれていますけれど、インターフェイスから考えても

> OSが64Bitと32BitでIntのサイズは違いマスが、その最大値を知りたいってコトでしょうか?
と言うので既に言い尽くされている気がします。
Intの最大値については調べればわかる範囲の内容だと思いますし。

あと、なぜ知りたいのかとかどういう事をしようと考えていてこういう質問をしているのかとか
そういう部分まで書くともっとすんなりレスが付くと思いますよ。
質問意図が分からないので答えあぐねているような感じに見えます。

引用返信 編集キー/
■11522 / inTopicNo.8)  Re[6]: パソコンに依存する内容
□投稿者/ 囚人 (264回)-(2007/12/17(Mon) 11:11:37)
.NET の Int32 は、OS の違いに影響される事なく常に 32 ビットです。なので、String.Length は Int32 なので、せいぜい 約20億文字が最大なんでしょう。もしかしたら超えれるかもしれませんが、20億文字を格納しようとおもったら4GB 以上必要ですね。

マシンに依存すると言えばたしかに依存するかも。でも、プログラムは文字列だけを格納しているわけじゃないので、メモリの容量がこれだけだから何文字まで格納できる、という分析は不可能でしょうね。

引用返信 編集キー/
■11523 / inTopicNo.9)  Re[6]: パソコンに依存する内容
□投稿者/ なちゃ (87回)-(2007/12/17(Mon) 11:14:11)
ちなみに.NETでは基本的な値型のサイズは固定です。IntPtr以外は。
なので、通常は型の表現の違いによる、仕様上の上限の差はありません。

引用返信 編集キー/
■11524 / inTopicNo.10)  Re[5]: パソコンに依存する内容
□投稿者/ カンタービレ (128回)-(2007/12/17(Mon) 11:20:41)
No11518 (幸広 さん) に返信
> ごめんなさい、質問内容自体も良く分からないで質問してたところがあったかもしれません。
> OSでサイズが違うのは知りませんでしたが、違うのでしたら教えていただけますでしょうか
>
私こそ、ちょっと嘘ついたかも知れません・・。

http://msdn2.microsoft.com/ja-jp/library/06bkb8w2(VS.80).aspx
を見るとVB.NETでIntegerに対応する型はInt32で
http://msdn2.microsoft.com/ja-jp/library/5kzh1b5w(VS.80).aspx
C#の場合も同じくInt32型となってマス。
64BitのOSでも同じ扱いとなるので、Int32.MaxValueの値は同じデスね。

なんかで見た記憶があったのですがIntPtrなどは違うのでそれとちょっと勘違いをした
かもしれません。。嘘情報ゴメンナサイ。

引用返信 編集キー/
■11527 / inTopicNo.11)  Re[7]: パソコンに依存する内容
□投稿者/ 774RR (86回)-(2007/12/17(Mon) 11:42:10)
Win32 では1プロセスあたりのユーザ領域許容メモリ上限が 2GiB
うにこーどが UTF16 表記なら10億文字が理論上の限界かと。
コード領域もスタック領域もみんな除外しての話なんでそこまで使えるわけが無い

Win64 では 8TiB 使えるんだっけ?
まあでも1つの System.String は Int32 の上限までということで20億文字までだね

1つの文字列や配列をそこまで大きく取る理由など何一つ見出せないので
実用上の意味はまったく無い理論上だけの話にとどまるわけだけど
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -