关闭

endian

98人阅读 评论(0) 收藏 举报


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;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2100次
    • 积分:90
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章存档