首页 > 其他分享 >大端小端及区别方法

大端小端及区别方法

时间:2023-07-06 10:45:42浏览次数:48  
标签:小端 区别 int 地址 内存 权值 大端 方法

理论

大端模式: 数据的低位(就是权值较小的后面那几位)保存在内存的高地址中,而数据的高位,保存在内存的低地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;
小端模式: 数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低,和我们的逻辑方法一致。

判断方法

方法一
#include <stdio.h>
int main()
  {
    int a = 0x1122;
    printf("%x", *(char*)(&a)); //低地址
  }

如果输出11为大端,如果输出22为小端

方法二
#include <stdio.h>
int main()
  {
    union 
      {
        char b[2];    
        short int a;
      } t;
    t.a = 0x1122;
    printf("%x", t.b[0]);
  }

如果输出11为大端,如果输出22为小端


参考文献:
https://www.cnblogs.com/yunsicai/p/3319808.html

标签:小端,区别,int,地址,内存,权值,大端,方法
From: https://www.cnblogs.com/await0/p/17531329.html

相关文章

  • 【后端面经-计算机基础】HTTP和TCP的区别
    【后端面经-计算机基础】HTTP和TCP的区别目录【后端面经-计算机基础】HTTP和TCP的区别1.OSI七层模型和相关协议2.TCP协议2.1特点:2.2报文格式2.3三次握手和四次挥手3.HTTP协议3.1特点3.2报文格式3.2https和http4.HTTPvsTCP5.面试模拟参考资料1.OSI七层模型和相关协......
  • Oracle update和 for update的区别
    两者都可以对数据进行修改,不同点:update一般使用的是 update.....set....语句,这样看不到数据的详细信息。而for update一般使用的是select *from....for update。这样的话,是查询了数据的详细信息,然后附带查询功能。比如select*frommytablewheremycolumn=......
  • 使用了下chatgpt3.0和chatgpt4.0的区别
    chatgpt4.0的理解能力更强了以下地址即可试用  ......
  • OSI TCP/IP模型 数据包报帧区别(自用)
    OSI七层模型OSI(OpenSystemInterconnectionReferenceModel,开放式通信系统互联参考模型)TCP/IP五层模型TCP/IP模型将OSI模型的应用层,表示层,会话层合并成了应用层数据包,数据报,帧的区别数据包与帧帧:数据链路层的传输单位数据包:可能由几个帧组成,可能超过MTUM......
  • cookie和session区别
    什么是Session?服务器会给每个用户创建一个Session对象,用来存储特定用户会话所需要的属性及配置信息。session代表的是一次对话,当浏览器第一次访问服务器时,服务会创建一个session对象,它携带着用户的信息(如登录信息),用户可以在此网站下的所有web页跳转。当会话过期或被放弃,服务......
  • 微服务架构与单体架构的区别
    微服务架构和单体架构是两种不同的软件架构方式。单体架构是一种传统的软件架构,它将所有的功能模块打包到一个独立的应用程序中。在单体架构中,所有的代码、业务逻辑、数据库模型等都在同一个应用中。单体架构的优点是开发速度快、易于部署和维护,但当应用程序变得越来越复杂时,会......
  • C语言中if(a);if(!a);if(a!=0);if(a==0)有什么区别?
    if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。if(a==0):如果a等于0,则使得if条件成立,反之不成立。等价于if(!a)。......
  • mysql中count(*)和found_rows()的区别
    count(*)和found_rows()都可以用来求查询记录的数量而count(*)往往单独使用,found_rows()却可以跟上前面一个查询,即select*fromtablelimit10;selectfound_rows();这样的总共可分为几个区别:1.count(*)查询的无论是否为空,都会计数,而found_rows()却不是......
  • 以太网温湿度传感器RJ45信号和485信号输出的温湿度传感器区别
    #RS485信号输出的温湿度传感器和RJ45信号输出的温湿度传感器区别分析温湿度传感器是一种用于测量环境中温度和湿度的设备,可以应用于各种领域,如农业、工业、建筑等。在市场上,有两种常见类型的温湿度传感器:RS485信号输出的和RJ45信号输出的。本文将对这两种类型进行区别分析。##......
  • __main和主函数main()区别++++修改主函数名称的方法
    一、__main和main()之间的关系startup__ec618.s启动文件里面的Reset_Handler: 调用过程: stm32在启动后先进入重启中断函数Reset_Handler,其中会先后调用SystemInit和__main函数,__main函数属于c库函数,其内部依次进行三步工作,即先初始化rw段,然后初始化zi段,最后调用另一......