比較演算子は0,1以外の値を返すことがあるのでしょうか?
C++言語仕様では、「比較演算子の評価値はboolであり、trueまたはfalseを返す」となっています。
なので、「0,1以外の値を返すことがあるのでしょうか?」という問自体ナンセンスってことになります。
こいつ↓をVC++に食わすと 'bool' と出力されます。
#include <iostream>
#include <typeinfo>
using namespace std;
int main() {
cout << typeid( 2<3 ).name();
}
if文使うのが面倒なので、よくそれを使っているのですが、もし1,0以外のパターンがあると使えなくなるので…
> if文使うのが面倒なので、よくそれを使っているのですが
「それ」って何ですか?
はぁ?
まったく理解してないな。
基礎をやれ。と言ったはずだが。
かなり、アレだ、相当に恥ずかしい質問だぞ。ホント。
以上。
# 阿呆はほっといて
Cの場合、JIS X3010 によると:
関係演算子および等価演算子の評価結果は真なら1/偽なら0を返す。
その結果は型 int をもつ。
とあります。
↑知っかぶり君は無視したほうがいい。
イチゼロのイチは何かしることが基礎だ。
イチ=電気のオンを意味する
ゼロ=電気のオフを意味する。
これが、2進数であり、地デジの信号と同じ仕組みだ。
∴ 1か0しか返さない。
電球のスイッチをイメージしてみろよ
オンとオフのスイッチが多いだろ?
まぁ、アホはほっといたほうがいいぞ。
オレはマシン(機械)語のマスターチャンピオンなので。あはは
>もし1,0以外のパターンがあると使えなくなるので…
TRUEの場合、1ではなくて-1(すべてのビットがON)を返す言語もあるので
それを心配してるのかな?
0か1かで判定するのではなく、0であるかないかで判定すれば問題ないと思う。
質問者君は、基礎をやりなよ。
オレのカキコを妨害してるやつがいるだろ?
なぜか?
1 善意
2 自分の利益
答えは、2だ。
やつらは、自分の入門本の売り上げしか考えてない。
税金は脱税するし、金の亡者だよ。
アホはほっといてさん、ありがとうございます。その通りです。
後、この質問に関しては
bool x=2;
int y=x;
で調査したところ、yは1でした。
ありがとうございました。
解決しちゃってますが、言語が定義している型は、
その型が求められている場合には、そのまんま使うのが吉ですね。
trueは真偽の「真」なのであって、変換可能ではありますが、
「整数とは本質的に無関係」という割りきりが必要ですね。
仲澤@失業者 さん>この質問者は入門レベルですよ。
あまり、関わり合いにならないほうが良いと思います。
宣言とか、そうゆうレベルの話もぜんぜんかみ合わないんですよ。
10年間、初心者らしい。
まぁ、半分は自分の「筋トレ」目的なのでご容赦くださいm(__)m。
実は、c++の本にFALSEまたはTUREを返すと書いていたのでつい…
できるだけif文を使うことにします。
そうゆう問題じゃないんだよ。
整数を使うとか、そうゆう問題なんです。
VBを勉強した経験って、ホントにあるの?
なぜ、知ったかぶりをするのかねぇ。
オレは、オマエがわからんよ。
ほんとうに勉強してみたらどうですかね。
> できるだけif文を使うことにします。
必ずしも「if文使う」が解決ではないんちゃうかしら。
「いかなる時も 真なら1/偽なら0 であってほしい」
のであれば、
#define F(x) ((x) ? 1 : 0)
あるいは
int F(bool x) { return x ? 1 : 0; }
なんての定義しておいて、
c = (a == b) * 3 を
c = F(a == b) * 3 に書き換えれば
if ( a == b ) c = 3; else c = 0; よりなんぼかマシちゃいます?
↑ハヤト君>>質問者君は、明らかに、入門道のほんの1歩だけカジッタ程度に思えますけどね。
複数分岐は整数でやれば、8分岐、30分岐も自由である。
将棋や囲碁の思考ルーチンを開発する場合は、キチンとノートに鉛筆で厳密なフロチャートを書く必要がある。
オレを知ったかぶりと思ってるようだが、まぁアレだがな。
ゲーム制作のやつはココは少ないぞ。
質問者君>>コンピューター言語のプロたちは分野がイロイロだ。
業務アプリのプロだは、ゲーム製作は無理。
以上である。
はいはい、カンニングマンのミキオ君です(笑)
ほら
今日はC++を13分勉強したよぉ。
#pragma endregion
//宣言randomNumber(VBと同じ)
Random^randomNumber;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
//変数の宣言Number(VBと同じ)
//これが「!! 変数 !!」です。
//↓Numberがみえますかね?
int Number;
//インスタンスrandomNumber(VBのnewと同じ)
randomNumber=gcnew Random();
//乱数0から100を生成する(VBと同じ)
Number=randomNumber->Next(101);
//表示
MessageBox::Show("ランダム(0カラ100を表示)___>>"+Number.ToString());
}
解決している質問なので別スレッドを
立てれば良いのでは?
いや、コイツは、一生涯解決しない君だよ。
だってさぁ、変数も知らないんだから(笑)
な。おまえ。
ツイート | ![]() |