仮想記憶を理解するための計算練習
Menu
4bit shift
32bit int に対して、4 bit left shift 8 bit right shiftを実行し16進数表示するプログラムを作成せよ。(プログラム言語は問わない)
この二つの演算を16進数表示の文字列の操作で表現してみよう。(50文字程度)
2の冪乗の数
2^n (nは、0-100) を10進数と8進数と16進数と2進数で表すプログラムを作成し、HTML のTable で表示せよ。既に実装されているコマンドを用いても良い。Big Num を用いる必要がある。この演算結果の法則性を16進数と2進数の場合について100文字程度で記述せよ。
2の冪乗の割算の余り
0x133 を16倍した数を16進数で表せ 0x7BF を256で割ったあまりを8進数で表せこのように、256 (2^8) で割った余りを計算するのには、割算ではなく、マスクを使うのが簡単である。
xを 2^n (n は、1から16) で割った余りをマスクで計算する関数、または、マクロmodn(x,n) を作成せよ。
ハードウェア
64bit の 2進数表現を2の冪乗の数値で割算を行うハードウェアの設計を以下の二通りに付いて記述せよ。
1. 固定された数値で割算する場合 2. 冪乗の値(2^1から2^32だったら1から32)の別に入力された数値で割算する場合この割算の計算時間はどれくらいか? 回路面積どれくらいになるか?