.


:




:

































 

 

 

 





union bytes{

double d;

unsigned char c [sizeof (double)];

};

 

int main ()

{

bytes ob={199.5};

for (int j=sizeof(double)-1; j>=0; j--)

{

cout << "byte " <<j << ": ";

for (int i=128; i; i>>=1) //

if (i & ob.c[j]) //

cout << "1";

else cout << "0";

cout << "\n";

}

_getch();

return 0;

}

 

, -256.5: 0 70 08 00 00 00 00 00 16

: 00 00 00 00 00 08 70 016

 

, , 8.

 

int main()

{ enum paytype {CARD, CHECK}; // 0, 1

paytype ptype; //

union

{char card[25];

long check;

} info;

 

:

ptype = CARD; //- CARD (0)

strcpy (info. card, "12345"); // card

ptype = paytype(1); // CHECK (1)

info. check= 105l; // check

:

switch (ptype) {

case CARD: cout <<"card:" << info. card<< endl; break;

case CHECK: cout <<"check:" << info. check<< endl; break;

}

_getch();

return 0;

}

-.

, , :

int main()

{

enum paytype {CARD, CHECK}; //

struct{

paytype ptype; //-

union

{char card[25];

long check;

} info;

} str;

:

str.ptype = paytype(0); // - ,

strcpy(str.info.card, "12345");//, ,

// card

 

str.ptype = paytype(1); // - ,

str.info.check= 105l; //, ,

// check

 

-:

switch (str.ptype) {

case CARD: cout <<"card:" << str.info.card<< endl; break;

case CHECK: cout <<"check:" << str.info.check<< endl; break;

}

_getch();

return 0;

}

++ . , . .

 

:

_ [_]: _;

( ). _. signed unsigned, , .

 

:

struct _ _ {

_1 _1: _1;

_2 _2: _2;

} __;

 

, . , . :

struct EXAMPLE { int i: 3;

unsigned j: 2;

int: 3;

int k: 2;

} my_struct;

 

4 : i ( -4 3), j ( 0 3), k ( -2 1). , EXAMPLE, k j, ( ). : .

, ( ) . . : , .

 

. , , , . . &, .

 

, , , , (.. ). , . .

. .

-. , ( ). , , . , , , . ++ ( ).

:

struct

{int a: 10;

int b: 14;

} xx;

 

, :

:

 

7 0 7 0 7 0 7 0

z z z z z z z z z z z z z z ww wwwwwwww

.b (14 ) .a (10 )

 

:

7 0 7 0 7 0 7 0

  z z z z z z z z z z z z z z ww wwwwwwww

.b (14 ) .a (10 )

 

 





:


: 2016-10-06; !; : 467 |


:

:

- , , .
==> ...

1350 - | 1183 -


© 2015-2024 lektsii.org - -

: 0.018 .