如何测试你的系统是大端还是小端模式
来源:互联网 发布:papi酱变音软件 编辑:程序博客网 时间:2024/03/29 18:32
我们先来看看为什么会有大小端之分呢?
在计算机系统中,规定:每个地址单元都会对应一个字节(8个bit),但是,在c语言中,除了有一个字节(8个bit)的char,也有两个字节(16个bit)的short,也有四个字节(32个bit)的long(在不同的编译器下可能不同)。对于16位或者32位的处理器,即就是大于8位的处理器,由于寄存器的宽度大于一个字节,那么就存在如何将一个多字节的变量的数据如何存放的问题——所以,就有了大小端之分。
首先,应该明确的是:
数据有高位和低位之分
地址有低地址和高地址之分
大小端的理解:
小端:将数据的低位存放在低地址处,将数据的高位存放在高地址处。
大端:将数据的低位存放在高地址处,将数据的高位存放在低地址处。
方法一:使用联合体测试:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int CheckSystem(){ union check { int i; char ch; }c; c.i = 1; return (c.ch == 1);}int main(){ int ret = CheckSystem(); printf("ret : %d\n",ret); system("pause"); return 0;}
程序的解析:
方法二:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int CheckSystem(){ int a = 1; if (*((char *)(&a)) == 1) { return 1; } return 0;}int main(){ int ret = CheckSystem(); printf("ret : %d\n",ret); system("pause"); return 0;}
方法三:
大小端的问题其实就是看数据在内存中是如何存放的,低位的数据是在低地址还是在高地址处存放的,所以无论多少种方法,实现的思想都是一样的。
0 0
- 如何测试你的系统是大端还是小端模式
- 【C语言深度剖析】测试系统存储是大端模式还是小端模式的方法
- 测试系统存储是大端模式还是小端模式的方法
- 测试自己的系统是大端还是小端
- 如何测试你的平台是大端字节序还是小端字节序
- 如何判断CPU是大端模式还是小端模式
- 测试一台电脑的存储是大端模式还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何判断CPU是大端还是小端模式
- 如何使用程序判断系统是大端还是小端?
- 测试你的机器是大端规则还是小端规则
- 欢迎使用CSDN-markdown编辑器
- secureCRT安装步骤
- 魔法阵题解
- Android开源 -- 开源的基于 Material Design设计的豆瓣的Android客户端“豆芽”
- Spring+SpringMVC+MyBatis+MySql框架整合实例
- 如何测试你的系统是大端还是小端模式
- LeetCode4. Median of Two Sorted Arrays(寻找第k小数:分治O(log(n+m)))
- el表达式截取字段
- 苏嵌21 16.11.25补充内容 指针数组 数组指针 函数指针 指针函数数组
- 2017学习计划--待定
- c语言程序
- STM32 使用printf打印串口信息
- 关于textarea的相关实践
- contentprovider的学习实例