之前做了许多的计算机组成原理题目,碰到大端存储方式和小端存储方式就很烧脑,总是不理解,今天又着重复习了复习,分享给大家。

所谓的大端方式或者小端方式,其实是数据在内存单元中的存储方式。

这里先科普一些计算机的基本常识,

计算机中大多数是以字节进行顺序编址,如 0000
0000H(十六进制)是指共有2的32次方个内存单元,每个单元可以存放一个字节(即一共4GB的内存空间),一个字节代表8bit(比特)。

其中2位十六进制 = 8位二进制数,比如 00H = 0000 0000b,即一个字节。

所以一般一个字节需要 2位16进制数进行存储,那么什么是大端方式和小端方式呢?

假设以存储地址 1234 5678H 存储一个int类型变量 100,即 0000 0064H(十六进制表示),
该数据的从高字节部分---->低字节部分: 00H---->00H---->00H---->64H
该数据的从低字节部分---->高字节部分: 64H---->00H---->00H---->00H

大端方式:

大端方式指的是,数据的高字节部分保存在低地址,数据的低字节部分保存在高地址(后部分不建议记,反而容易搞混)。

则1234 5678H存储 00H,1234 5679存储 00H,1234 567A存储 00H,1234 567B存储 64H。

即低地址部分保存高字节数据。

小端方式:

小端方式指的是,数据的低字节部分保存在低地址,数据的高字节部分保存在高地址(后部分不建议记,反而容易搞混)。

则1234 5678H存储 64H,1234 5679存储 00H,1234 567A存储 00H,1234 567B存储 00H。

即低地址部分保存低字节数据。

要想深刻理解这些概念还需认真领悟存储器的工作方式以及数据的存储方式,多做题也十分重要,加油加油!

技术
©2019-2020 Toolsou All rights reserved,
Python学习笔记(一)Linux【shell】 shell编程创建一个线程——— Javaweb (3)evo工具使用问题——Degenerate covariance rank, Umeyama alignment is not possibleVMware 16安装centos 7详细教程C语言做一个简易的登陆验证(功能)界面C语言——qsort函数Spring Boot面试必问:自动配置原理Android EditText密码显示隐藏Qt入门教程【基础控件篇】QCalendarWidget日历控件