endian


1、what is the address of a multiple data?

  the smallest 

0 1 2 3  4 5 6 7 8  0 1 2 3 4 5 6 7 8 

-----------------------------------------------

-----------------------------------------------



#include <stdio.h>
 
int main()
{
int a[2];
if (&a[0] < &a[1]) printf("that's right !\n");
struct test{
unsigned ui;
unsigned char x[4];
}o_o;
if ((unsigned)&o_o.ui < (unsigned)&o_o.x[0]) printf("that's right!\n");
  return 0;
}


2、what is the endian?

 



#include <stdio.h>
 
char endian(void)
{
int i = ~0 - 1;
return *(unsigned char *)&i==0xfe ? 'L' : 'B';
}


char int_endian(void){
int i = ~0 - 1;
return *(char *)&i == -2 ?  'L' : 'B';
}


int main()
{
endian()=='L' ? printf("little endian\n") : printf("big endian\n");
int_endian()=='L' ? printf("little endian\n" ) : printf("big endian\n");
return 0;
}


3、what is used the int constant  ?

oct: 0xxxxxxxxxxx+UL

hex: 0xffffffffffffffffff+ UL

dec: ---> +/-

 
#include <stdio.h>
int main()
{
int i = 0x12345678U;
printf("%x\n", i);
return 0;
}

阅读更多
文章标签: struct
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

endian

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭