C/C++中字节序、类型转化的深入理解

 如果将字节序、类型转化单独一个拿出来说时,大家可能都觉得很简单,但是理解的不深入。如果将其结合起来探讨,可能我们就会理解的很透彻。

关于字节序和类型转化的基础,大家如果不太理解,可以参考以下博客:

https://my.oschina.net/u/1783725/blog/647973  大小字节序

https://my.oschina.net/u/1783725/blog/700970  类型转化

在进入正题之前,在啰嗦一句:

立即学习“C++免费学习笔记(深入)”;

系统位数不同对应数据类型的字节数大小也不同

QQ图片20161117130906.png

详细介绍两者之间的联系

字节序: 操作的内存,就是将我们看到的数据存放在内存中的规则。

    大字节序:大端有效 ,高位数据先放入低地址内存 , 低位数据放入高地址内存;小字节序:小端有效,低位数据先放入低地址内存 , 高位数据再放入高地址内存

    操作内存(如:memcpy)就需要考虑字节序

QQ图片20161117104700.png

类型转化: 操作的是读出的数据,就是将从内存中读取的数据,根据类型字节的大小进行转化。

位数多的转化为位数小的(会截断高位的数据,留下地位的数据),位数小的转化为位数多的(将高位的数据补为0)。  

QQ图片20161117104700.png

一个例子来读懂他们

1、赋值与字节序无关,操作内存(memcpy)就需要考虑字节序

1:将unsigned  long  long类型的0xABCDEF1234赋值给unsigned  long类型的变量,与字节序无关

2:unsigned  long  long类型的0xABCDEF1234变量使用memcpy到short类型的变量,发现为0,与字节序有关

代码如下:

#include int main(int argc, char *argv[]){unsigned long long ullVar = 0xABCD1234;unsigned long ulVar1 = 0;unsigned long ulVar2 = 0;/*memcpy操作内存时,需要考虑系统的大小字节序,如果是大字节序的话,高位的数据保存在低地址上*/memcpy(&ulVar1,&ullVar,sizeof(ulVar1));/*赋值时,就是讲读出的数据按照要赋值的数据类型的大小进行转换*/ulVar2 = ullVar;printf("ulVar1=%x      ulVar2=%x ",ulVar1,ulVar2); //输出:ulVar1=0      ulVar2=abcd1234return 0;}

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2445780.html

(0)
上一篇 2025年3月3日 16:14:33
下一篇 2025年2月28日 00:12:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C/C++深度分析

    数组 开发中数组是一种常见的数据结构,当然我们知道数组相当于一种容器,但是它不仅仅只能存数值和字符,同时它还可以存放函数的入口地址,以及结构体的数据。 typedef  struct _value{       int val_1;    …

    编程技术 2025年3月3日
    200
  • php与c#的区别有哪些

    php与c#的区别有:1、语言类型系统不同,PHP属于动态,而C#为静态类型;2、使用的平台不同,PHP可以实现跨平台,而C#为Windows专属;3、编程范式不同,PHP支持面向对象、过程化和函数式编程,C#更倾向于面向对象编程;4、执行…

    2025年2月23日
    200
  • 2024年长春什么时候供暖最新

    2024年长春什么时候供暖还是很受大家关注的,这几天基本是全国性的降温对于北方的城市来说没有暖气的话,还是很难熬的,那大家知道2024年长春什么时候开始供暖呢?时间是几月几日呢?下面就和小编一起来看看吧。 2024年长春什么时候供暖最新 2…

    2025年2月21日
    631.7K00
  • 长春市约谈滴滴出行花小猪平台:违规行为频发,严重阻碍冰雪旅游经济发展

    本站 1 月 16 日消息,据“长春交通运输执法”公众号消息,2024 年 1 月 14 日,长春市交通运输部门对滴滴出行科技有限公司长春分公司花小猪平台进行约谈,重点就加强公司合法合规经营提出明确要求。 公告称,滴滴出行、花小猪平台长期存…

    2025年2月17日
    200
  • cc公司英文域名查询_cc

    查询cc公司的英文域名,可以通过访问域名注册商的官方网站或使用在线域名查询工具进行搜索。 CC公司英文域名查询_cc CC公司英文域名查询是指在互联网中查找与CC公司相关的英文域名,CC是Commercial Company(商业公司)的缩…

    服务器 2025年2月15日
    300
  • 如何在长春申请域名注册?

    长春域名注册通常需要通过中国互联网络信息中心(CNNIC)认证的域名注册服务机构进行。您需选择一个域名,检查其可用性,提供必要的身份信息完成实名认证,支付费用并提交申请。完成后等待审核,一旦通过即可正式使用该域名。 在当今数字化时代,拥有一…

    服务器 2025年2月15日
    300
  • DDOS高防服务器防御哪家好?

      DDOS、CC攻击一直都是站长很头疼的事情,当遇见DDOS/CC攻击时,网站会出现访问慢、无法访问的情况,会导致网站降权、关键词排名下降等后果,而可以帮助网站抵御DDOS攻击的有很多,其中当属高防服务器防御效果好,但提供服务器防御的服务…

    2025年2月14日
    300
  • 长春seo:提升网站 SEO 优化效果的关键策略,降低跳出率

    :降低跳出率对 SEO 优化的影响及解决方法 在当今数字化的世界中,拥有一个优秀的网站对于任何企业或个人来说都是至关重要的,搜索引擎优化(SEO)是提高网站可见性和流量的关键策略之一,仅仅关注关键词排名和页面优化是不够的,一个重要的指标是网…

    好文分享 2025年2月9日
    700
  • 长春seo:SEO 技术助力中小企业网站腾飞

    摘要:本文旨在探讨 SEO 技术在中小企业网站中的应用,通过分析 SEO 技术的概念和重要性,详细阐述了关键词研究、内容优化、网站架构优化、外部链接建设等关键策略,并提供了一些实用的建议和注意事项,以帮助中小企业提升网站在搜索引擎中的排名和…

    好文分享 2025年2月9日
    500
  • 长春seo:掌握这些技巧,让搜索引擎对你的网站爱不释手!

    搜索引擎优化(SEO)是一项关键的网络营销策略,旨在提高网站在搜索引擎结果页面(SERP)中的排名,从而增加有机流量和可见性,要让搜索引擎信赖你的网站并给予高排名,以下是一些关键的 SEO 优化技巧: 1、关键词研究与选择 关键词是用户在搜…

    好文分享 2025年2月9日
    500

发表回复

登录后才能评论