测试计算机是小端存储还是大端存储

    一.理解大端存储和小端存储的概念

    1).大端存储:大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放。

                2).小端存储:小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。

                二.设计程序测试计算机是大端存储还是小端存储

                1.输入数据1作为测试数据。

                1).1的类型为int型,在计算机中存储使用4个字节存储(00000001)。我们可以将int型转化成char类型,让它读取一个字节。如果是01,难么就是小端存储。如果是00,那么就是大端存储。

                2).可以用union来解决。同样是存储(000000001)。

                 2.代码实现部分


    #include<stdio.h>//查看计算机是什么储存方式
                     //对应1).
    int mem_cheak()
    {
    	int i = 1;
    	char *ptr = (char *)(&i);
    	if (*ptr == 1)
    	{
    		return 1;
    	}
    	else if (*ptr == 0)
    	{
    		return 0;
    	}
    }
    
    int main()
    {
    	int ret = mem_cheak();
    	if (ret == 1)
    	{
    		printf("little\n");
    	}
    	else
    	{
    		printf("big\n");
    	}
    	system("pause");
    	return 0;
    }

    #include<stdio.h>

    int sys_check()
    {
    	union UN
    	{
    		int i;
    		char c;
    	}un;
    	un.i = 1;
    	if (un.c == 1)
    	{
    		return 1;//返回1表示小端
    	}
    	else
    	{
    		return 0;//返回0表示大端
    	}
    
    }
    int main()
    {
    	int ret = sys_check();
    	if (ret == 1)
    	{
    		printf("little\n");
    	}
    	else
    	{
    		printf("big\n");
    	}
    	system("pause");
    	return 0;
    }

  以上就是本人在学习过程中的一些经验总结。当然,本人能力有限,难免会有纰漏,希望大家可以指正。

本文出自 “做一个小小小司机” 博客,请务必保留此出处http://10799170.blog.51cto.com/10789170/1715734

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值