[C#]switch文のcase句の中だけで有効な変数を宣言する[C,C++,javaも同様]
プログラム中に例えば、以下の様なswitch文があったとします。 void func( int inData ) { switch ( inData ) { case 1: …; break; case 2: …; break; } }void func( int inData ) { switch ( inData ) { case 1: …; break; case 2: …; break; } } このcase句の中で、ワークの一時変数を使いたい場合、以下のようにcase内で宣言する事が…
続きを読む
変数の特定ビットだけを0に落とす時に、条件式を簡単に書く
※本記事の例はC言語ですが、java,C#などのビット操作が出来る言語に共通した話です。 まずは、ビット操作の基本的な考え方です。 たとえばcharがたの変数dataから、5bit目だけ0に落としたい場合を考えます。 この場合のコードをシンプルに書くと、以下のようになります char data = xxx; char ans = data & 0xDF;char data = xxx; char ans = data & 0xDF; これは、以下の論理式演算(ビット単位のand)を行って、特定ビットを落としています。 (data) xxxx xxxx and (0xdf) 11…
続きを読む
[Java]マルチスレッドでの、子スレッド終了待ち処理サンプル
基礎からわかるTCP/IP Javaネットワークプログラミング package com.nanoappli.test // マルチスレッド処理サンプル public class MultiThreadSample { public static void main( String args[] ) { TestClass inClass = ( new MultiThreadSample() ).getTestClass(); /*——————…
続きを読む
[Java]ソケットからデータを受信(その2:タイムアウト処理付き)
Javaでソケットからのデータ受信、その2です。 前回とほぼ同じ処理ですが、クライアントからの接続、および接続後のデータ受信でタイムアウト処理を設けて有ります。接続待ちでは3秒、データ受信は2秒以内にクライアントからの操作が行われないと、タイムアウトが発生したとみなしています。 基礎からわかるTCP/IP Javaネットワークプログラミング package com.nanoappli.test; import java.io.*; import java.net.*; import java.util.Arrays; public class HelloWorld2…
続きを読む
[Java]ソケットからデータを受信する
Javaでソケットからデータを受信するサンプルです。 プログラムを起動すると、ポート4949で待ち受けを行います。 クライアントから接続後、データを10byte受信すると、受信データを画面表示します。 また、受信データはsjis(厳密にはcp932)が来る事を想定しています。 package com.nanoappli.test; import java.io.*; import java.net.*; import java.util.Arrays; public class HelloWorld { public static void main…
続きを読む