読者です 読者をやめる 読者になる 読者になる

Bit と 2進数

0 または 1 で表される情報量を 1 ビットという。

 

1 ビットでは、2 種類の情報を表せる。( 21 )
電球で表すと、
0 → OFF
1 → ON

2 ビットでは、4 種類の情報を表せる。( 2 2 )
00 → OFF and OFF
01 → OFF and ON
10 → ON and OFF
11 → ON and ON

8 ビットでは、256 種類の情報を表せる。( 2 8 )

 

2 進数

コンピュータは、0 と 1 ですべてを表現している。
この数え方を、2 進数という。
2 進数では、1 の後に桁数が繰り上がる。( 10進数は 9 の後に繰り上がる )

10進数 2進数
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000

 

以上。

 

C#_対応する括弧にジャンプするショートカットキー

ctrl   ]

 

指定行へのジャンプは

ctrl  +  g

サクラエディタだと、ctrl   j

 

こちらから。

公式ドキュメント ↓ にテキスト移動ショートカットキー一覧が載ってた。
https://msdn.microsoft.com/ja-jp/library/ms366755(v=vs.90).aspx
http://kiracchi.com/2012/08/17/visualstudio_shortcutkey_jump/

 

以上。

Windows OS にて、入力モードを切り替えるごとに表示される「あ」「A」を消す。

Update したら「あ」や「A」が表示されるようになった。
URLにカーソルもっていったりしても表示される。邪魔。

f:id:koshinRan:20170528010822j:plain

↓ 非表示方法

  1. 右クリックで言語バーを復元する。( プロパティが非表示の為)
  2. ▼ ( オプション )をクリックする。
  3. プロパティにチェック入れる
  4. プロパティが表示されるのでクリック。
  5. IME入力モード切替の通知」にて、
    「画面中央に表示する」のチェック外す
  6. 「OK」クリック。
  7. 完了

 

↓ キャプチャ ( クリックで拡大 )

キャプチャ 
1. f:id:koshinRan:20170528011548j:plain
2. f:id:koshinRan:20170528011820j:plain
3. f:id:koshinRan:20170528012203j:plain
4. f:id:koshinRan:20170528012435j:plain
5.6. f:id:koshinRan:20170528012654j:plain

こちらから参照。重宝重宝。
http://freesoft.tvbok.com/win10/rs2/ime-a-a-setting.html

 

以上。

IEにて、Edge タブを消す ( 非表示にする )

Update したら新しいタブの隣に出てきた。本当に邪魔なので非表示にする。

 

  1. インターネットオプションを開く。
  2. 詳細設定タブを開く。
  3. 「ブラウズ」 カテゴリの
    Microsoft Edge を開くボタン([新しいタブ]ボタンの隣)を非表示にする
    にチェックを入れる。
  4. 「適用」をクリックして、「OK」クリック。
  5. ブラウザ再起動
  6. 終わり。

 こちらから参照
http://freesoft.tvbok.com/win10/rs2/disabled-ie11-edge-button.html

 

↓キャプチャ

f:id:koshinRan:20170528003138j:plain

 

以上。

C#_switch 文

・受け取った値の結果を元に、実行処理を変えたい時に使用する。

・switch 中で使える変数は、整数 or 文字列 のみ。

・条件が 多分岐なら、 if 文でなく switch 文を使用する。
( 自分的には、4 分岐以上なら使おうかと)
多分岐では、 if 文より switch の方が速いとされている。

 

以下のサンプルにおいては、
a = 5; としているので、処理 C が実行され、switch 文から抜ける。
a の値が 0 だった場合は処理 A が実行され、同上
a の値が 1 だった場合は処理 B が実行され、同上
a の値が case 値に一致しない時は処理 X が実行され、同上

ex)

int a = 5;
switch (a)
{
    case 0:
        //処理A
        break;
    case 1:
        //処理B
        break;
    case 5:
        //処理C
        break;
    default:
        //処理X
        break;
}

default は case で指定されたどの値とも異なる場合の処理。
default で実施する処理がない場合は、break のみを書いておく。

break は switch 文から抜ける為に使う。

 

フォースルーの禁止

C/C++ では break 文を書かないと
下に書かれている case 文の処理を実行してしまう
ex ) だと a = 0; の時、 処理A を実行したら下にある、処理 B C X も実行してしまう。
a = 5; の時、 処理C を実行したら下にある、処理 X も実行してしまう。

このことをフォールスルーという。
fall through:空いた穴などを通り抜けて落ちる。失敗に終わる。

C/C++ でうっかり break を書き忘れる、というバグが頻繁に起こったので、
C# では break または goto または return を書く必要がある。

 

goto 文

処理の流れを追いづらくなるので、あまり使うのは好ましくない

goto ラベルA;
と書いてあった場合、
goto ラベルA まで処理が流れたらラベルA がある位置まで処理がジャンプする。
ラベルA はswitch のブロック外でも内でも記述できる

 

こちらから

http://udemy.benesse.co.jp/development/c-sharp-switch.html
http://ufcpp.net/study/csharp/st_branch.html

 

型スイッチというのもある。
以上。

32bit が x86、64bit が x64 と表記される訳

32bit を何故 x86 で表すのか。

16bit CPU を x86 と表記しており、32bit 版はこれの改良型という位置づけだから。

x64 は  x86-64 を略したもの。
x86 系列の64bit 拡張版という意味。

 

こちらから参照。
http://helpsupport.blog.fc2.com/blog-entry-103.html
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1238588067

 

以上。

C#_実行ファイルとDLL

本当のメモ程度。

・実行ファイルや DLL はビルドされるごとに
bin\Debug 」or「 bin\Release 」に作成される。

DLL が作成されるのは、
C# のコードと C++/CLI書いたライブラリが存在する場合。

bin (binary data):
コンピュータが見て分かるデータのこと(テキスト以外)。

 

知りたかったこと。
1) .exe のみ の時と、.dll ファイルが作成される時の差は何か。
2) インストーラが必要な時と、不要な時の設定はどこで行うのか。
2) はめんどそうなのでいつか。

 

参照とメモURL。
http://wiki.clockahead.com/index.php?Coding%2F.NET%2FEXE%A4%C8DLL%A4%F2%A3%B1%A4%C4%A4%CB%A4%DE%A4%C8%A4%E1%A4%EB
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1222645717
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1437726389
http://wa3.i-3-i.info/word11024.html
http://wa3.i-3-i.info/word1146.html

 

以上。

--Memo--

ビルド
コンパイル、ライブラリのリンクなどを行い、
最終的な実行可能ファイル作成すること。

コンパイル
ソースコードを解析し、コンピュータが実行可能な形式に変換すること。
機械語に変換すること。

実行ファイル ( .exe ):
単体で動かせるプログラムのこと( とこの記事ではする )。

DLL ( ダイナミックリンクライブラリ ):
Dynamic Link Library ( .dll )
プログラムを動かすとき( 実行時 )にリンクさせる ( くっつける ) 部品ファイル
スタティックリンクライブラリ ( .lib ) もある。
作る時にリンクさせる部品ファイル。

ダイナミックリンク ( 動的リンク ) :動かす時につける。
スタティックリンク ( 静的リンク ) :作る時にくっつける。

.dll は新しいものに替えたり、改造するのが簡単。
だが、忘れたり見つからない可能性が出てくる。
.lib は一体化しているので新しいものに替えたり、改造するのが大変だが、
忘れたりすることはない。

Windows では「.dll 」「 .lib 」。UNIX系( Linuxとか )では「.so 」「 .a 」。