ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年4月28日(日) 02:49

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 整数同士の除算
作成者 メッセージ
  記事の件名:   引用付きで返信する
ありがとうございます、イグトランス様

> これは様々な言語で良く見かける仕様です。
> 特にx86系CPUではCPU内部での浮動小数点数の演算時には全て80bit拡張倍精度が使われるため,
> これに合わせる仕様の言語が大変多いです。

すみません、表現のしかたを間違っていました。
むしろ、私が言いたかったのは同じ演算結果のはずのものが(3*(6/5))違っていたのを伝えたっかたのです( 3.600000 と 3.599999 )。
投稿記事 Posted: 2006年1月03日(火) 08:51
  記事の件名:   引用付きで返信する
> もうひとつ、代入先の変数を実数型(Single)にして見ると比較や表示の部分ではDoubleになっているようです。

これは様々な言語で良く見かける仕様です。
特にx86系CPUではCPU内部での浮動小数点数の演算時には全て80bit拡張倍精度が使われるため,
これに合わせる仕様の言語が大変多いです。

ただ表示(Print)は単に現在のABは関数のオーバーロードがサポートされていないので,
数値型の引数は全てDoubleで受けているだけのことです。
投稿記事 Posted: 2006年1月03日(火) 08:23
  記事の件名:   引用付きで返信する
お答えいただけなかったので、もう一度報告いたします。

整数リテラル値同士の除算(/)は整数除算がされていますが、整数型変数同士の除算(/)は実数除算がされています。

Ver4.1β1で
・整数同士で"/"演算子を扱うと、"\"演算子と同様、つまり、整数除算が行われるようにしました
と言うことなので、整数型変数同士(整数型リテラル値と整数型変数も)の除算も整数除算をしてもらいたいです。

それと、SingleからLongへの強制変換を四捨五入でしているようですが、切捨てにできないでしょうか?(キャストしてやると切捨てされるのでキャストすれば良いのですが)
もうひとつ、代入先の変数を実数型(Single)にして見ると比較や表示の部分ではDoubleになっているようです。
確認してもらえたらと思います。
AB Ver4.13.00(2005 Final)で確認しました。
投稿記事 Posted: 2006年1月03日(火) 01:12
  記事の件名:  整数同士の除算  引用付きで返信する
プログラミング質問版で質問していたのですが、整数同士の除算が実数で演算されているようです。

仕様では実数型への代入時には実数除算がされるとなっているのですが整数型のときも実数除算がされています。
投稿記事 Posted: 2005年12月13日(火) 23:13

全ての表示時間は UTC+09:00 です


ページ移動:  
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean