ab.com コミュニティ

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

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




新しいトピックを投稿する  トピックへ返信する  [ 3 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年11月16日(水) 20:19 
オフライン

登録日時: 2005年5月31日(火) 20:14
記事: 203
お住まい: 兵庫県
コード:
Dim a As Int64
a=123456789123456
a=a/10000
このとき、「12345678912」となるべきaの値が「12345678848」となってしまいます。
調査をお願いします。

※何故か \ 演算子で割る場合は問題なしです…。もしかしてDouble型の精度が関係しているとか?

_________________
[hira]
http://hira.hopto.org/


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年11月16日(水) 20:47 
オフライン

登録日時: 2005年5月31日(火) 17:59
記事: 899
お住まい: 東京都
こういうときには整数除算演算子 \ を使ってみると良いです。
こちらでは問題ありません。
コード:
#prompt
#strict

Dim a As Int64
a = 123456789123456
a = a \ 10000

Print a
というわけで / 演算子では実数型で計算されているのでしょう。

円記号は違和感があるので、私は \ がバックスラッシュになるフォントを使っています。


通報する
ページトップ
 記事の件名:
投稿記事Posted: 2005年11月16日(水) 21:00 
オフライン

登録日時: 2005年5月31日(火) 20:14
記事: 203
お住まい: 兵庫県
ありがとうございます。
やはり内部の計算が実数で行われているようですね。
今回は \ 演算子で解決できる内容でしたので、それでいきたいと思います。

_________________
[hira]
http://hira.hopto.org/


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

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


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[16人]


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

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