このページを編集する際は、編集に関する方針に従ってください。

概要

引数

  1. ALIGNVAL : 数値または式
  2. LEN : 数値または式

実装

#define TYPEALIGN(ALIGNVAL,LEN) \

	(((long) (LEN) + ((ALIGNVAL) - 1)) & ~((long) ((ALIGNVAL) - 1)))

呼出元

備考

LEN以上のALIGNVALの倍数のうち最小の値を返す。

例1:ALIGNVALが4で、LENが9の場合、

前半の式と、後半の式の補数を、AND演算すると、

12  : 00001100
~3  : 11111100
AND : 00001100 = 12

例2:ALIGNVALが4で、LENが7の場合、

前半の式と、後半の式の補数を、AND演算すると、

10  : 00001010
~3  : 11111100
AND : 00001000 = 8

例3:ALIGNVALが4で、LENが5の場合、

前半の式と、後半の式の補数を、AND演算すると、

 8  : 00001000
~3  : 11111100
AND : 00001000 = 8

例4:ALIGNVALが4で、LENが4の場合、

前半の式と、後半の式の補数を、AND演算すると、

 7  : 00000111
~3  : 11111100
AND : 00000100 = 4

例5:ALIGNVALが4で、LENが1の場合、

前半の式と、後半の式の補数を、AND演算すると、

 4  : 00000100
~3  : 11111100
AND : 00000100 = 4

履歴

コメント



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS