【已解决】如何判断处理器是大端,或小端?
去年11月份的面试题,今天有空整理出来了,算是总结。
************************************************************
大端、小端指对操作数的存放,大端从高到低放,小端从低到高放。X86的intel平台为小端,单片机一般为大端。
举个例子:
操作数0x12345678在内存中的存放,假设从地址0x4000开始放。
大端:
内存地址 存放内容
0x4000 0x12
0x4001 0x34
0x4002 0x56
0x4003 0x78
小端反过来,先在0x4000处放0x78。
通过程序可以判断cpu是大端,还是小端。介绍两种方法,大同小异,自己体会。
#include <stdio.h>int checkCPU(){ //检测方法1 ps:共同体共用内存,b从内存的头开始取,如果取的1,则说明cpu先存的a的低位,即小端(内存中a的高位为0,低位为1)union un{int a;char b;}guo;guo.a = 1;return (guo.b==1);
}int checkCPU2(){ //检测2unsigned short usData = 0x1133;unsigned char *pucData = (unsigned char*)&usData; //去short的二位地址,强制转化为char的一位,即取usData内存的开头一位。原理方法一return(*pucData==0x33);
}int main(){if (checkCPU2())printf("小端cpu\n");elseprintf("大端cpu\n");getchar();return 0;}
我的x86,intel酷睿i5的笔记本,运行结果如下:
【已解决】如何判断处理器是大端,或小端?相关推荐
- 判断 机器是大端还是小端(两种方法)
什么是大端序,小端序?? 其实就是字节的存储顺序,如果数据都是单字节的,那怎么存储无所谓了,但是对于多字节数据,比如int,double等,就要考虑存储的顺序了. 举个例子: 一个32位 int 型变 ...
- linux中判断平台是大端或小端的方法,判断机器大小端的方法
以前就简单据说过电脑的大小端之分,还有经过程序来判断你的电脑是大端仍是小端.今天在学习网络的时候又接触了大小端,这里就再给你们详细的介绍一下电脑的大小端.node 首先,介绍一下什么是大端什么是小端. ...
- 判断CPU是大端还是小端
#include "stdafx.h" #include <iostream> using namespace std;/* #大端模式(Big_endian):字数据 ...
- 使用c语言测试大端和小端,C语言*符号使用及大端法小端法测试
工具:Microsoft Visual C++ 6.0 例子: int a = 1; int* b = &a; C语言规定a表示存储单元中的数据,&a表示存储单元的地址,b存储的就是a ...
- c语言 int大端转小端,C++将整型数据转换成大端或小端存储顺序
昨晚帮导师从指令中恢复图像的时候,导师要我转换成raw格式,也就是记录图像像素的二进制序列,然后反复强调让我注意大端小端.当时我也没在意,用ofstream的write方法一个个地写进去,发现有部分数 ...
- 大端模式-小端模式详解
大端模式(big endian),小端模式(little endian)指的是什么? 端(endian)模式是指计算机中字节的存储顺序.地址的高低与字节的高位和低位的对应关系就有了大端和小端的区别. ...
- 大端和小端的判断及转换
当前的存储器,多以byte为访问的最小单元,当一个逻辑上的地址必须分割为物理上的若干单元时就存在了先放谁后放谁的问题,于是端(endian)的问题应运而生了,对于不同的存储方法,就有大端(big-en ...
- 题目:如何判断一个机器是大端还是小端
如何判断一个机器是大端还是小端 关于大端小端的概念, 小端:数据的高位字节存放在高地址内,数据的低位字节存放在低地址内. 大端:数据的高位字节存放在低地址内,数据的低位字节存放在高地址内. 典型的体系 ...
- 大端和小端的含义及判断代码
1.概述 在计算机系统中,数据都是以字节进行存储的,每个地址单元对应一个字节,每个字节都是8位(bit).但是C++除了char和bool之外,还有其它多字节类型.怎样存储多字节的数据就分为了大端和小 ...
最新文章
- 小甲鱼-013元组tuple:上了枷锁的列表
- FlexPaper二次开发问题及搜索高亮显示
- bo sap 客户端_SAP BO 技术
- 阿里云边缘云ENS再升级,四大场景应用加速产业数字化落地
- JUnit 5 –扩展模型
- python数据处理常用函数_Python常用数据处理函数
- 【译】Node.js 日志打印指南
- [惊!] IE 10.0,你没看错! IE10 Platform Preview 1出来啰~
- SQLite B/S使用(一)
- 使用netron对mnist网络结构分析
- Navicat注释乱码
- Python Spider 的总结
- Alios things资料篇
- PS四种扁平化设计风格-网摘
- [转]的C#实现三维数字地形漫游(基于Irrlicht)
- 保研之路——上科大信息学院直硕夏令营
- C# 怎么把集合转换成数据库添加语句,把类转换成sql语句
- OVP保护芯片首选ETA7008,耐压36V,过压保护点可调
- 论文阅读三:GHM《Gradient Harmonized Single-stage Detector》
- speedoffice(PPT)插入的图片如何自动适合幻灯片页面大小呢?
热门文章
- ​年底大会火爆,看“瑶台”如何搭建一场高质量沉浸式大会
- 【移动战略说·第十六期】创业者面临的机遇与挑战(杭州站)
- “他们”最想要的圣诞礼物是你的...
- Shell基础之条件判断 分支判断
- Extjs grid选中一条记录Ajax访问后台
- 《深入理解C++11:C++ 11新特性解析与应用》——1.3 C++11特性的分类
- 《Spring 3.0就这么简单》——1.6 展现层
- 并发集合(二)使用非阻塞线程安全的列表
- xcart-子分类/语言不显示
- 为什么Domain controller上的time synchronization非常重要?