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

本文对比了C/C++与Java中整数变量的16进制输出格式,通过具体代码示例,展示了如何使用C语言的共用体和类型强制转换来测试计算机系统的字节对齐方式,最终确定了测试环境为小端模式。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值