记事本:如何将16进制数赋给int型变量,再按16进制输出,以及电脑大小端对齐方式测试。

版权声明:未经博主同意,禁止转载 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

猜你喜欢

转载自blog.csdn.net/weixin_42130471/article/details/83926820