C/C++の宿題片付けます 147代目
■ このスレッドは過去ログ倉庫に格納されています
0120デフォルトの名無しさん
2011/04/13(水) 19:38:46.94[2] 問題文(含コード&リンク):
little endianおよびbig endianの両方に対応するように以下のローテーション関数を作れ。
b, w, dはローテートする値、nはローテートするbit数を表す。
BYTE rotateByteRight(BYTE b, BYTE n);
BYTE rotateByteLeft(BYTE b, BYTE n);
WORD rotateWordRight(WORD w, WORD n);
WORD rotateWordLeft(WORD w, WORD n);
DWORD rotateDwordRight(DWORD d, DWORD n);
DWORD rotateDwordLeft(DWORD d, DWORD n);
ただしlittle endianとbig endianのコードを切り替えは、以下のように行うものとする
#ifdef __LITTLE_ENDIAN__
// little endianのコード
#else
// big endianのコード
#endif
[3] 環境
[3.1] OS:PPCおよびIA32のLinux
[3.2] コンパイラ名とバージョン:gcc
[3.3] 言語:C
[4] 期限:今日中
[5] その他の制限: (どこまで習っているか、標準ライブラリは使ってはいけない等々)
標準ライブラリは使わない
■ このスレッドは過去ログ倉庫に格納されています