質問ですが
int myclass::LuminanceSize(){ //buffer の 103-117が輝度部分
if(buf[103]){//1bit-->1
if(buf[104]){//2bit-->1
if(buf[105]){//3bit-->1
if(buf[106]){//4bit-->1
if(buf[107]){//5bit-->1
if(buf[108]){//6bit-->1
return(8);/*return(0);*/// 1111110
}else return(7);/*return(0);*/// 111110
}else return(6);/*return(0);*/// 11110
}else return(5);/*return(0);*/// 1110
}else return(4);/*return(0);*/// 110
}else{//2bit-->0
if(buf[105])return(3);/*return(0);*/// 101
elsereturn(0);// 100
}
}else{//1bit-->0
if(buf[104])return(2);/*return(0);*/// 01
else return(1);/*return(0);*/// 00
}
}
このようなクラスがあったときこのクラスは何を意味しているのでしょうか。また、if(mark[Luminum]){ ではじまるif文があったときこのmark[Luminum]はmark[Luminum]==1のときif文の中身を実行するのでしょうか。もしよろしければご教授ください。
No.2ベストアンサー
- 回答日時:
配列bufの値と、このメソッドの戻り値を表にすると、
次のようになりますね。
推測するに、bufの103~108の部分は、輝度値のサイズ?を表す値を、2進数でコード化したもののようです。
bufインデックス LuminanceSize
103 104 105 106 107 108
1 1 1 1 1 1 8
1 1 1 1 1 0 7
1 1 1 1 0 6
1 1 1 0 5
1 1 0 4
1 0 1 3
0 1 2
0 0 1
1 0 0 0
コメントにbufの103~117が輝度部分と記されていますので、103~108の部分で輝度値のビット数なりバイト数なりをコード化し、残りの部分で実際の値をコード化しているのではないでしょうか。
あくまで推測ですので、よく実際の動作をお確かめになってくださいね。
No.1
- 回答日時:
> このようなクラスがあったとき
クラスのメンバ関数ですね。
buf[103]~buf[108]の内容に応じて、0~8の値を返すモジュールとしか説明できないです。
--
> if(mark[Luminum]){ ではじまるif文があったとき
mark[Luminum]が0以外の時、処理が行われます。
mark[]に0か1しか入らないのならば、==1の時と読み替えて構わないと思いますが、予期しないバグの原因ではあります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# leetcode21 1 2022/04/21 11:53
- C言語・C++・C# プログラムの時、フローチャートはどうなりますか?図でお願いします。 int main(void) { 1 2022/10/01 22:45
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- C言語・C++・C# C言語で再起関数とポインタを用いて文字列反転をする方法がわかりません。 4 2023/04/29 20:32
- C言語・C++・C# C言語 leetcode21 Merge Two Sorted Lists 2 2022/04/24 19:35
- C言語・C++・C# プログラミングのペーパーテスト 実行結果を表示せよ #include <stdio.h> int h 1 2022/07/09 15:27
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- オープンソース AutoHotkey KeyWaitコマンドについて 下記サンプルコードにて5行目と9行目にKeyW 1 2023/03/02 21:26
- PHP imageフォルダに、画像をリサイズして保存する時のファイル名を変更したい 1 2023/05/30 11:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
チェックボックスの有無判定
-
slickのレスポンシブ > center...
-
ドロップダウンリストボックス...
-
半角英数字のみの入力にエラー...
-
テキストボックスに数字しか入...
-
IE8におけるショートカットキー...
-
ctrl+vを無効にする方法
-
未入力のラジオボタンに、alert...
-
Tabキーでのカーソルの移動...
-
プルダウン 項目が多いので先頭...
-
hiddenのvalueの値を変えたい
-
onchangeイベントを強制的に発...
-
チェックボックスの設定
-
javascriptでASPにデータを渡す
-
テキストエリアをenterキーでフ...
-
クリックの度に加算していくには?
-
プルダウンで選択すると、DBの...
-
【jQuery】input nameの文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
return trueとreturn falseの用...
-
正規表現で複数マッチ条件で悩...
-
JavaScriptde途中で、「exit」...
-
slickのレスポンシブ > center...
-
COBOLの数字チェック
-
チェックボックスの有無判定
-
フォームの入力チェックをする...
-
Visual Studioのデザインでの非...
-
Tabキーでのカーソルの移動...
-
ツリービューのチェックボック...
-
ドロップダウンリストボックス...
-
コピペを禁止するtextarea
-
ラジオボタンのNullチェック
-
未入力のラジオボタンに、alert...
-
form の onSubmit がコールされ...
-
分岐数といえば
-
JSのみで入力→確認→メールで送...
-
JavaScript ログアウト処理
-
TEXTAREAに入力した改行コード...
-
リロードしないようにするには
おすすめ情報