用一个程序弄清你的计算机是大端还是小端存储
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 一、什么是大端(小端)存储?
- 二、具体实现方法
一、什么是大端(小端)存储?
(1)大端存储:数据的高字节放在内存的底地址处,低字节放在高地址处;
(2)小端存储:数据的高字节放在内存的高地址处,低字节放在低地址处。
二、具体实现方法
#include <stdio.h>
//封装check_sys函数判断计算机的大小端
int check_sys1() //方法一
{int a = 1 ;// 1的二进制转化成十六进制在内存中存// 储为 0x 00 00 00 01char* p = (char* a)&a;if( *p == 1)return 1 ;//返回1表示为小端存储elsereturn 0 ;//返回0表示大端存储
)
int check_sys2()
{int a = 1 ;return *((char*p)&a);
}
1.实现原理:
我们利用1在内存中的存储为 0x 00 00 00 01(十六进制),
所以我们每次读取出一个字节的数据时,要么是1,要么是0。而我们又知道计算机在读取数据是是从低地址向高地址开始读取的,所以我们读出的0或1就是最低地址上的数据,从而进行判断。
int main()
{int ret = check_sys1();if(ret==1)printf("大端存储\n");elseprintf("小端存储\n");
}return 0 ;
用一个程序弄清你的计算机是大端还是小端存储相关推荐
- 深入理解计算机大端与小端
大端与小端 在嵌入式开发中,大端(Big-endian)和小端(Little-endian)是一个很重要的概念. MSB与LSB 节序的问题,必然牵涉到两大CPU派系.那就是Motorola的Powe ...
- 1、打印二进制机器码,程序内存分析,大端序小端序,指针数组,数组指针,数组的三种访问方式,typedef,#if-0-#endif,求数组大小,括号表达式
1.打印二进制机器码(分别表示32位的和64位的) #include <stdio.h> /*按照8位的长度打印一个数值*/ void dis8bit(char val) { int ...
- 计算机中的大端与小端
1. 历史故事 <格列佛游记> 2. 概述 2.1 计算中的大端与小端描述的对象是字节,而不是位.同时,我们规定,计算机中的位编号在最右端从0开始,向左递增,对于四个字节32位来说,地址的 ...
- C语言 如何判断一个主机是大端还是小端
大端:低地址存高位 小端:低地址存低位 1.使用联合体 最简单的方法,使用联合体.联合体的成员共用同一份空间,在联合体中定义两种不同大小的类型.例如一个int类型和char类型.定义一个int类型的变 ...
- 题目:如何判断一个机器是大端还是小端
如何判断一个机器是大端还是小端 关于大端小端的概念, 小端:数据的高位字节存放在高地址内,数据的低位字节存放在低地址内. 大端:数据的高位字节存放在低地址内,数据的低位字节存放在高地址内. 典型的体系 ...
- arm 大端还是小端_用C/C++带您了解计算机中大端小端之谜
首先这些是什么? 小字节序和大字节序是存储多字节数据类型(int,float等)的两种方式.在小字节序机器中,多字节数据类型的二进制表示形式的最后一个字节首先存储.另一方面,在大字节序机器中,多字节数 ...
- 小端模式和大端模式_计算机字节顺序(大端法和小端法)详解
首先理清一下基本的概念: 1. 大多数机器使用时的8位的块(一个字节),作为可寻址的最小单位, 2. 机器级程序将内存视为非常大的字节数组(虚拟内存),内存的每个字节都由一个唯一的数字来表示(如下X的 ...
- C语言判断计算机存储是大端还是小端
计算机的一个int型数据是用多个字节表示的,如果在内存中存放时标称该数据的地址中存放的是数据的最低字节,就叫小端机,反之把高字节存放在标称地址中的则称为大端机.所以可以定义一个int变量,将其地址强制 ...
- 【计算机组成原理】数据存储的大端和小端
在存储数据时,数据从低位到高位可以从左到右排列,也可以从右到左排列.因此,无法用最左或最优来表征数据的最高位或最低位,通常用最低有效字节LSB和最高有效字节MSB来分别表示数的低位和高位. 现代计算机 ...
最新文章
- python爬虫教程下载-Python爬虫文件下载图文教程
- linux里grep和egrep,fgrep的区别
- [云炬Mysql数据库笔记] 第3章 数据定义
- Android学习之Activity源码的理解(一)
- 在张朝阳的直播间里,没有搜狐的未来
- Python生成字符视频
- 【深度学习6】对比学习(Contrastive Learning)入门
- 有趣的Ruby-学习笔记4
- 装逼神器,5 行 Python 代码 实现一键批量扣图
- 全面了解风控指标体系
- html5圆圈,javascript – 如何在HTML5画布中绘制带有文本的圆圈
- Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
- 离散数学图论期末复习
- java bigpipe_BigPipe的正确使用姿势
- python淘宝爬虫登陆功能和下单功能_Python爬虫实战五之模拟登录淘宝并获取所有订单 | 静觅...
- 一键GHOST 硬盘版 安装运行
- linux和aida64,AIDA64 6.10版上线:支持中国兆芯
- Apache Beam
- Dialog的统一管理
- Springfox Swagger2(一):概述