teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

修正

2018/03/02 22:12

投稿

asm
asm

スコア15149

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

ちょい修正

2018/03/02 22:12

投稿

asm
asm

スコア15149

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

一応変数名を合わせる

2018/03/02 21:54

投稿

asm
asm

スコア15149

answer CHANGED
@@ -13,11 +13,11 @@
13
13
 
14
14
  #### > ⓶「そして4から余りを引いてwMargineに設定する。」の部分の4から余りを引く理由がわかりません
15
15
 
16
- 目的は`width * 3 + padding == 4の倍数`にしたいのです。
16
+ 目的は`width * 3 + wMargine== 4の倍数`にしたいのです。
17
- padding が1~4とした場合
17
+ wMargineが1~4とした場合
18
18
  ```疑似
19
19
  n = width * 3 / 4
20
- width * 3 + padding = 4 * (n + 1)
20
+ width * 3 + wMargine= 4 * (n + 1)
21
21
  ```
22
22
  この連立方程式を解いてください
23
23