回答編集履歴
3
修正
answer
CHANGED
@@ -14,13 +14,21 @@
|
|
14
14
|
#### > ⓶「そして4から余りを引いてwMargineに設定する。」の部分の4から余りを引く理由がわかりません
|
15
15
|
|
16
16
|
目的は`width * 3 + wMargine== 4の倍数`にしたいのです。
|
17
|
-
wMargineが1~4とした場合
|
17
|
+
~~wMargineが1~4とした場合~~
|
18
18
|
```疑似
|
19
19
|
n = width * 3 / 4
|
20
20
|
width * 3 + wMargine= 4 * (n + 1)
|
21
21
|
```
|
22
|
-
この連立方程式を解いてください
|
22
|
+
~~この連立方程式を解いてください~~
|
23
23
|
|
24
|
+
**編集**:計算するとおかしかったので追記
|
25
|
+
数の性質です。
|
26
|
+
ある数`n`の4で割った余りが
|
27
|
+
- 1の時、n+3は4で割り切れる
|
28
|
+
- 2の時、n+2は4で割り切れる
|
29
|
+
- 3の時、n+1は4で割り切れる
|
30
|
+
- 0の時、nは4で割り切れる
|
31
|
+
|
24
32
|
#### > ⓷eaxレジスタとebxレジスタを乗算するのはわかるのですがプログラムにはmul ebxとしか書いていない
|
25
33
|
#### > ⓸この乗算結果を二つのレジスタに乗算の結果を分割して入れている命令部分はプログラムのどこに書いてあるのでしょうか?
|
26
34
|
|
2
ちょい修正
answer
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
おそらく[ビットマップの仕様](https://ja.wikipedia.org/wiki/Windows_bitmap#ビットマップデータ)
|
2
2
|
> 水平方向のバイト数が4の倍数ではないときは、0x00で埋めて4の倍数にする。
|
3
3
|
|
4
|
-
です。(なんか他にもavi/jpg/png/gif/mpegの仕様で幅に制限あった気がするけど思い出せない)
|
4
|
+
です。(なんか他にもavi/jpg/png/gif/mpegの仕様で幅に制限あるフォーマットがあった気がするけど思い出せない)
|
5
5
|
|
6
6
|
> 個人的に4倍ではなく1バイトが8bitなので8で割ったほうが都合がよいように思えますが。
|
7
7
|
|
1
一応変数名を合わせる
answer
CHANGED
@@ -13,11 +13,11 @@
|
|
13
13
|
|
14
14
|
#### > ⓶「そして4から余りを引いてwMargineに設定する。」の部分の4から余りを引く理由がわかりません
|
15
15
|
|
16
|
-
目的は`width * 3 +
|
16
|
+
目的は`width * 3 + wMargine== 4の倍数`にしたいのです。
|
17
|
-
|
17
|
+
wMargineが1~4とした場合
|
18
18
|
```疑似
|
19
19
|
n = width * 3 / 4
|
20
|
-
width * 3 +
|
20
|
+
width * 3 + wMargine= 4 * (n + 1)
|
21
21
|
```
|
22
22
|
この連立方程式を解いてください
|
23
23
|
|