版权声明:未经博主同意,禁止转载 https://blog.csdn.net/weixin_42130471/article/details/83926820
c和c++版本:
int i=0x12345678;
printf("%hx",i);
java版本:
int i=0x12345678;
System.out.format("%h",i);
对齐方式测试:
C语言版:
方法一、使用共用体:
#include<stdio.h>
typedef union {
int i;
char c;
}Node;
int main(){
Node node;
node.i=0x12345678;
printf("%hx",node.c);
}
方法二、
#include<stdio.h>
int main(){
int i=0x12345678;
char* c=(char*)&i;
printf("%hx",*c);
}
按16进制格式输出,两种方法打印结果都是0x78,表明我的电脑是按小端方式对齐的。因为若是按大端方式对齐,打印结果应该是0x12