C言語なら俺に聞け(入門篇) Part 5
■ このスレッドは過去ログ倉庫に格納されています
0454デフォルトの名無しさん
2006/12/13(水) 16:37:54上位12〜15bitと上位2byteは領域がかぶっているから共用体も使った
typedef struct st_hoge{
unsigned zero :8;
unsigned set :8;
union {
struct {
unsigned n4Bits : 4;
unsigned n12Bits : 12;
}foo;
unsigned short s;
}n16;
}ST_HOGE;
void Func(int *pValue)
{
ST_HOGE *p = (ST_HOGE *)pValue;
if( p->n16.foo.n4Bits ==0 )
{
p->n16.s = 1;
}
else
{
p->n16.s = 2;
}
}
あと上位12〜15bitってことは
int nValue = 0xfff0ffff;
ではないかい?
■ このスレッドは過去ログ倉庫に格納されています