それはON/OFFじゃなくて?
true/false は真偽値なので
if(false){
}else{
}
がelse節になる必要がある。
if(local_false){
}else{
}
にthen節なるようなfalseを定義するべきじゃない。
回路の1/0判定については ON/OFFを割り当てるべきでtrue/falseを割り当てるのはそれこそ、プログラムの概念設計ミスだとおもわれる。
そのために
if(value==local_false)
なんて毎回やるのは、さらに 混乱のもと
if(value==local_on)
ならば、誰でも混乱はしない。
falseは真偽値というコンパイラが使う値であって ハードの固有値を割り当てて良いものではないと思われる。
大げさに表現すれば、
typedef long local_short
typedef short local_long
sizeof(local_long) < sizeof(local_short)
ローカルFalseはこれに近い。既存のコンパイラが定めている概念を ひっくり返すようなローカル定義は この時代ではするべきではない。
#define HARD1_ON 0
#define HARD2_ON 1
これは必要。
#define HARD1_FALSE 1
これは害悪
#ifdef XXX #define false 0 #endif ならわかる #ifdef XXX #define my_false 0 #endif みたいなひとは何がしたいんだろう・・・ 後発企画への互換性とか考えないんだろうか・・・ 大きなシステムで、独自...
一応書いておくが、組み込みでは意味がある時もある。 回路上の1/0なんてちょっとした改修ですぐに変わるからね。 特定のハードモジュールに対する判定をパッケージとして閉じ込める...
それはON/OFFじゃなくて? true/false は真偽値なので if(false){ }else{ } がelse節になる必要がある。 if(local_false){ }else{ } にがthen節なるようなfalseを定義するべきじゃない。 回路の1/0判定について...
C言語にTRUE/FALSEなんて仕様ないんですけど。
だから、後発企画=C++へのコンパチビリティでしょ? #define false 0 としないで #ifdef XXX #define false 0 #endif とするか? なんで、ifdefで定義そのものをOFFれるかっていうと、まれにfalseを理解...
おれは組み込み云々を書いた増田なんだが、もともと「my_false」の話してたよね? そういう独自定義の話でないの? そりゃ組み込みなら普通はON/OFFと表現するが、「#define OFF 0」とかあん...
たぶん、元増田さんは、言語仕様としてのBOOL値を独自定義するなと言いたかったのだろうけれど。 やった人が、BOOL値として考えてmy_falseを定義したかどうかは微妙だよね。 むしろmy_false...
たぶん、元増田さんは、言語仕様としてのBOOL値を独自定義するなと言いたかったのだろうけれど。 そうではなくて、独自規格から始まったものが後日改変されて、正しく定義され規...
組み込みの世界ってキモイなー 絶対触りたくないな…
組み込みの世界ってキモイなー テスト基盤と実機基盤で判定が逆とか普通にあるし、電圧判定の閾値が違うとかもざら。 テストと実機で同じコードが使えるように、大抵のものは置き...
「いまどき」というならC99だしこうなんだが…。 #include <stdbool.h>int main() { { bool a = false; // 0 bool b = 0; // 0 bool c = true; // 1 bool d = 1; // 1 bool e = 2; // 1 ...