当前位置: 首页 > 编程日记 > 正文

Linux系统的大小端模式

大端模式

所谓的大端模式,是指数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;

小端模式

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

为什么有大小端模式之分

为什么会有大小端模式之分呢?这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为 8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于 8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。因此就导致了大端存储模式和小端存储模式。例如一个16bit的short型x,在内存中的地址为0x0010,x的值为0x1122,那么0x11为高字节,0x22为低字节。对于 大端模式,就将0x11放在低地址中,即0x0010中,0x22放在高地址中,即0x0011中。小端模式,刚好相反。我们常用的X86结构是小端模式,而KEIL C51则为大端模式。很多的ARM,DSP都为小端模式。有些ARM处理器还可以由硬件来选择是大端模式还是小端模式。

测试:

#include <stdio.h>
#include <sys/types>
main()
{
int x=0x12345678; /* 305419896 */
unsigned char *p=(char *)&x;
printf("%0x % 0x %0x %0x",xp[0],xp[1],xp[2],xp[3]);
}


输出:78 56 34 12

说明是小端!反过来的则是大端

相关文章:

CSDN插件限时内测,新用户抢永久免费去广告特权!

经过程序猿哥哥们和产品小姐姐马不停蹄的疯狂加班&#xff0c;CSDN 官方出品的PC浏览器插件–开发者助手 终于正式上线啦&#xff01;一键万能操作&#xff0c;新标签页极简个性&#xff0c;让你的浏览器更酷更高效&#xff01;还有超多实用彩蛋功能等你来解锁&#xff01;现在…

你必须知道的.net学习总结

着几天在看《你必须知道的.net》&#xff0c;这次看书和以往不同&#xff0c;以前是把自己喜欢的章节看了。但是这次决定把一本书详细的看看。 在第一章第一节中主要讲的是“对象”,我想每一个程序员都对&#xff0c;“对象”有理解。 我来说说书中所说的对象吧。。 我只是把认…

Mybatis 基本配置, 面向接口

< 一 > 主配置文件 <?xml version"1.0" encoding"UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration><…

据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?

1.甲去买烟&#xff0c;烟29元&#xff0c;但他没火柴&#xff0c;跟店员说&#xff1a;“顺便送一盒火柴吧。”店员没给。 乙去买烟&#xff0c;烟29元&#xff0c;他也没火柴&#xff0c;跟店员说&#xff1a;“便宜一毛吧。”最后&#xff0c;他用这一毛买一盒火柴。 这是…

助力视障人士,微软等公司捐赠首批AI有声内容

12月2日&#xff0c;微软与周迅AI语音红丹丹公益项目发起人鹿音苑文化传播公司&#xff0c;以及来自微软及各界的150名余志愿者&#xff0c;将创作的首批人工智能有声内容&#xff0c;包括鲁迅、老舍、萧红、朱自清等作家的一系列经典作品、红丹丹文化期刊&#xff0c;正式捐赠…

能和LoadRunner匹敌的VS2010/2012Web负载测试

VS自带的Web负载测试真的很大程度上能和专业的loadrunner媲美&#xff08;只是Web方面&#xff09;&#xff0c;上个report图吧&#xff08;如何实现&#xff0c;请往下拉&#xff09;&#xff1a; 看&#xff0c;能探测一堆的计数器&#xff08;上面红色打叉的是代表超过了基线…

设置编码格式为utf8

response.setCharacterEncoding("UTF-8"); 在Servlet2.3中是不行的&#xff0c;至少要2.4版本才可以&#xff0c;如果低于2.4版本&#xff0c;可以用如下办法&#xff1a; response.setContentType("text/html;charsetUTF-8"); pageEncoding"UTF-8&qu…

Linux 命令集锦

linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl M -i4# lsof -i | grep 9054 如果退格键变成了&#xff1a;"^h"。 终端连接unix删除退格键&#xff0c;按住CTL键同时按deleteLinux搜索 # find / -name "xxx.conf"查看linux是32位还是64位的命…

mysql (双主,互主)

Master-Master&#xff08;双主&#xff09; 1、测试环境 Master/Slave Master1/Slave1 IP 192.168.1.13 192.168.1.10 为了保持干净的环境&#xff1a;两边服务器 rm -rf /var/lib/mysql/* service mysqld re…

熬夜都要看完的 Python 干货!

结合我最近这些年的Python学习、开发经验&#xff0c;发现超90%的人在初学Python时都会遇到下面这些问题&#xff1a;没经验不知道怎么开始学&#xff0c;应用方向太多了根本不知道该怎么选择&#xff01;各基础入门看似简单&#xff0c;但一到进阶部分就举步维艰&#xff0c;遇…

Linux下二进制文件安装MySQL

MySQL 下载地址&#xff1a;https://dev.mysql.com/downloads/mysql/ 并按如下方式选择来下载安装包。 1. 设置配置文件/etc/my.cnmore /etc/my.cnf [client] port 3306 socket /tmp/mysql.sockdefault-character-setutf8[mysqld] usermysql port 3306 server_id 1 socket/…

解决远程桌面无法连接问题

如果 出现的提示如下&#xff1a;---------------------------中断远程桌面连接---------------------------客户端无法建立跟远程计算机的连接。导致这个错误的可能的原因是:1) 远程计算机上的远程连接可能没有启用。2) 已超出远程计算机上的连接最大数。3) 建立连接时出现了一…

这些算法在印度农村医疗中发挥极大作用,未来还将发挥哪些作用?

作者 | Apoorva Mandavilli译者 | Jhonny&#xff0c;责编 | Carol来源 | Unitimes在结核病猖獗的印度农村等地方&#xff0c;用于扫描肺部X射线的 AI 技术可能有助于消除这种疾病之苦。印度农村马哈拉施特拉邦的 Chinchpada Mission 医院在世界上一些最偏远和最贫困的角落&…

四层和七层交换技术-loadbalance

1 四层交换技术简介 我们知道&#xff0c;二层交换机是根据第二层数据链路层的MAC地址和通过站表选择路由来完成端到端的数据交换的。三层交换机是直接根据第三层网络层IP地址来完成端到端的数据交换的。四 层交换机不仅可以完成端到端交换&#xff0c;还能根据端口主机的应用特…

sql server mvp 發糞塗牆

http://blog.csdn.net/dba_huangzj/article/details/38295753

几行代码完成动态图表绘制 | Python实战

作者 | 小F来源 | 法纳斯特头图 | CSDN下载自视觉中国关于动态条形图&#xff0c;小F以前推荐过「Bar Chart Race」这个库。三行代码就能实现动态条形图的绘制。有些同学在使用的时候&#xff0c;会出现一些错误。一个是加载文件报错&#xff0c;另一个是生成GIF的时候报错。这…

inline-block元素4px空白间隙的解决办法

为什么80%的码农都做不了架构师&#xff1f;>>> http://www.hujuntao.com/archives/inline-block-elements-the-4px-blank-gap-solution.html 转载于:https://my.oschina.net/i33/blog/124448

Ubuntn删除软件

删除dpkg -r 软件清除dpkg -P 软件也可以用sudo apt-get remove 软件 这种方式移除这种方式install的

对象Equals相等性比较的通用实现

对象Equals相等性比较的通用实现 最近编码的过程中&#xff0c;使用了对象本地内存缓存&#xff0c;缓存用了Dictionary<string,object>, ConcurrentDictionary<string,oject>,还可以是MemoryCache(底层基于Hashtable)。使用缓存&#xff0c;肯定要处理数据变化缓存…

Android:ViewPager为页卡内视图组件添加事件

在数据适配器PagerAdapter的初始化方法中添加按钮事件&#xff0c;这里是关键&#xff0c;首先判断当前的页卡编号。必须使用当前的view来获取按钮。 Overridepublic Object instantiateItem(View arg0, int arg1) {if (arg1 < 3) {((ViewPager) arg0).addView(mListViews.g…

解析C语言中的sizeof

一、sizeof的概念 sizeof是C语言的一种单目操作符&#xff0c;如C语言的其他操作符、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于…

开源大咖齐聚2020启智开发者大会,共探深度学习技术未来趋势

​2020年12月2日&#xff0c;“OpenI/O 2020启智开发者大会”在北京国家会议中心召开。大会以“启智筑梦 开源先行”为主题&#xff0c;立足于国际国内开源大环境和发展趋势。开源领域顶尖专家学者和企业领军人物共聚一堂&#xff0c;探讨开源开放呈现出的新形势、新格局、新机…

linux中编译C语言程序

1.首先安装gcc编辑器 yum install gcc* -y 2.编写C语言程序 [roottest ~]# vim aa.c #include<stdio.h> int main( ) {int a;printf("请输入一个三位数的整数:");scanf("%d",&a);if(a>100&&a<1000)printf("百位是&#xff1a…

typedef的四个用途和两大陷阱

typedef的四个用途和两个陷阱 &#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;…

升级版APDrawing,人脸照秒变线条肖像画,细节呈现惊人

作者 | 高卫华出品 | AI科技大本营随着深度学习的发展&#xff0c;GAN模型在图像风格转换的应用越来越多&#xff0c;其中不少都实现了很好的效果。此前&#xff0c;reddit上的一个技术博主AtreveteTeTe基于GAN模型混合将普通的人像照片卡通化&#xff0c;并通过First Order Mo…

error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

1 这个error是什么原因造成的 cmake默认选择的是x86&#xff0c;即32位的生成子。 2 怎么解决这个error 在cmake ..的时候&#xff0c;在后面加上“-G "Visual Studio 12 2013 Win64"”选项即可。 3 怎么在CMakeLists.txt中进行相应的设置来解决这个问题 这个还未知。…

Linux的epoll

在linux的网络编程中&#xff0c;很长的时间都在使用select来做事件触发。在linux新的内核中&#xff0c;有了一种替换它的机制&#xff0c;就是epoll。 相比于select&#xff0c;epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中&#x…

[QA]Python字节码优化问题

这篇文章来自在Segmentfault 上面我提出的一个问题 问题背景&#xff1a; Python在执行的时候会加载每一个模块的PyCodeObject,其中这个对象就包含有opcode,也就是这个模块所有的指令集合&#xff0c;具体定义在源码目录的 /include/opcode.h 中定义了所有的指令集合&#xff0…

【滴滴专场】深度学习模型优化技术揭秘

滴滴拥有海量数据以及 AI 推理需求&#xff0c;GPU 在人脸识别、自动驾驶、地图导航等场景大量使用&#xff0c;滴滴云IFX团队针对斯坦福 DAWNBench 榜单的 ImageNet 模型也进行了深入优化&#xff0c;在 NVIDIA T4 上达到了 0.382 ms 的 Inference Latency 性能&#xff0c;打…

11.python并发入门(part9 多进程模块multiprocessing基本用法)

一、回顾多继承的概念。由于GIL&#xff08;全局解释器锁&#xff09;的存在&#xff0c;在python中无法实现真正的多线程&#xff08;一个进程里的多个线程无法在cpu上并行执行&#xff09;&#xff0c;如果想充分的利用cpu的资源&#xff0c;在python中需要使用进程。二、mul…