
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
> MAX値から前回値を引いた値を、現在値に加算
なら、
差 = MAX値 - 前回値 + 現在値
ですが、
MAX = 0xFFFF
前回値 = 0xFFFF
現在値 = 0x0000
の場合、
差 = 0xFFFF - 0xFFFF + 0x0000 = 0
正解は1なので、結果の良し悪しではなく間違いです。
正しくは、
差 = MAX値 - 前回値 + 現在値 + 1
です。
ただし、#1の方のとおり、オーバーフローを利用すれば、常に
現在値 - 前回値
で問題ありません。
No.1
- 回答日時:
一般的に言えば、誤りです。
タイマーが1週以上してる可能性もあるので。前回の計測から今回の計測まで絶対に1周以上回っていない、という前提が成り立つなら、それでも殆ど問題ありませんが
その場合は(Intelのような、減算によるアンダーフローで例外が飛ばないCPUの場合は)、単に減算する方が良い結果になります。
例)
前回:0xf000 今回:0x0050 として
0x0050 + (0xffff - 0xf000) = 0x104f
0x0050 - 0xf000 = 0x1050 (16bit整数型を用いる場合。)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6.0-整数と余りを求める
-
足して100になるような乱数のア...
-
フォームを開くときに、コンボ...
-
C言語 exitの使い方
-
DataGridView 複数行同時変更...
-
C#で動的にコントロールを取得...
-
余剰演算子について教えてください
-
DWORDって
-
Cプログラムについて
-
vbsでテキストファイル内の文字...
-
列数の多いエクセルのデータを...
-
VBAでダブルコーテーション入り...
-
java final
-
VB6.0 DataGridでのfirstRowの...
-
タンパク質 配列解釈ツール CL...
-
ラズベリーパイ B でgpioを使っ...
-
excelの、ある数式内の{}の意...
-
VisualStudio2022でC言語プログ...
-
stdpicture型の変数に、、
-
エクセル、この関数の意味は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語 exitの使い方
-
フォームを開くときに、コンボ...
-
Excel-vba 文字列と変数を...
-
VB6.0-整数と余りを求める
-
ラジオボタンの値の取得につい...
-
足して100になるような乱数のア...
-
VBAで配列のNULL判定
-
VBA コンボボックスの値をスピ...
-
データ構造のmapとは?
-
VBAの定数の使い方で、計算値を...
-
フリーランタイマーの時間差分...
-
1つ前の値を変数に保存する方法
-
C#で動的にコントロールを取得...
-
コンボボックスの名前を変数に...
-
UWSCのcallについて
-
Nullってどういう意味ですか?
-
DWORDって
-
[シェルスクリプト] 空文字の判...
-
Access2003 オートナンバーの現...
-
2つの列で重複するキーの数と...
おすすめ情報