ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 04:32

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




新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 
作成者 メッセージ
 記事の件名: 整数同士の除算
投稿記事Posted: 2005年12月13日(火) 23:13 
オフライン

登録日時: 2005年9月17日(土) 13:15
記事: 25
お住まい: 香川
プログラミング質問版で質問していたのですが、整数同士の除算が実数で演算されているようです。

仕様では実数型への代入時には実数除算がされるとなっているのですが整数型のときも実数除算がされています。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年1月03日(火) 01:12 
オフライン

登録日時: 2005年9月17日(土) 13:15
記事: 25
お住まい: 香川
お答えいただけなかったので、もう一度報告いたします。

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

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

それと、SingleからLongへの強制変換を四捨五入でしているようですが、切捨てにできないでしょうか?(キャストしてやると切捨てされるのでキャストすれば良いのですが)
もうひとつ、代入先の変数を実数型(Single)にして見ると比較や表示の部分ではDoubleになっているようです。
確認してもらえたらと思います。
AB Ver4.13.00(2005 Final)で確認しました。


最後に編集したユーザー EIJI [ 2006年1月03日(火) 09:05 ], 累計 2 回

通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年1月03日(火) 08:23 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
> もうひとつ、代入先の変数を実数型(Single)にして見ると比較や表示の部分ではDoubleになっているようです。

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

ただ表示(Print)は単に現在のABは関数のオーバーロードがサポートされていないので,
数値型の引数は全てDoubleで受けているだけのことです。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2006年1月03日(火) 08:51 
オフライン

登録日時: 2005年9月17日(土) 13:15
記事: 25
お住まい: 香川
ありがとうございます、イグトランス様

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

すみません、表現のしかたを間違っていました。
むしろ、私が言いたかったのは同じ演算結果のはずのものが(3*(6/5))違っていたのを伝えたっかたのです( 3.600000 と 3.599999 )。


通報する
ページトップ
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 4 件の記事 ] 

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


オンラインデータ

このフォーラムを閲覧中のユーザー: Ahrefs [Bot] & ゲスト[12人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

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