Little_endian和Big_endian的区别和C测试程序

简介: 这里简单的进行描述一下也加深记忆 Little_endian:不管在内存和磁盘中存储都是内存的低地址存储数值的低位数 Big_endian:不管在内存和磁盘中存储都是内存的低址存储数值的高位数 注意这里是数值,字符串没有这样的问题。
这里简单的进行描述一下也加深记忆
Little_endian:不管在内存和磁盘中存储都是内存的低地址存储数值的低位数
Big_endian:不管在内存和磁盘中存储都是内存的低址存储数值的高位数

注意这里是数值,字符串没有这样的问题。
比如626C 低位数就是6C高位数就是62

比如我们要存储
0x626c

内存地址
低---------------->高 
Little_endian
6C  62
Big_endian
62  6C


我们用如下的程序进行验证

点击(此处)折叠或打开

  1. #include<iostream>
  2. #include <string.h>
  3. #include<stdlib.h>
  4. #include<stdio.h>
  5. using namespace std;

  6. bool check(void)
  7. {
  8.         char* test = new char[2];
  9.         strcpy(test,"lb");
  10.         short *m=(short *)test;


  11.         printf("%s is test srting %c's ascii is %x,%c's ascii is %x\n",test,test[0],test[0],test[1],test[1]);
  12.         printf("short number is %x\n",*m);


  13.         if(*m == 0x626c)
  14.         {
  15.                 return false;
  16.         }
  17.         else if(*m == 0x6c62)
  18.         {
  19.                 return true;
  20.         }
  21.         else
  22.         {
  23.                 printf("UNKOWN ERROR!\n");
  24.                 exit(1);
  25.         }
  26.         delete [] test; 
  27. }


  28. int main(void)
  29. {
  30.         if(check())
  31.         {
  32.                 printf("Big_endian\n");
  33.         }
  34.         printf("Little_endian\n");
  35. return 0;
  36. }


输出为:
lb is test srting l's ascii is 6c,b's ascii is 62
short number is 626c
Little_endian
我是LINUX下面跑的,用WINDOWS跑也是一样的。
LINUX和WINDOWS都是Little_endian,占时没在AIX这样的Big_endian测试


我们可以到我们的字符串输出任然是lb,l 的ascii是 6c,b的ascii是 62 ,但是当转换为数字short int后
显示为626c,那么我们可以确认他为小端Little_endian。

可以参考
http://blog.163.com/yuyi_vc/blog/static/170371753201182511825105/
目录
打赏
0
0
0
0
91
分享
相关文章
|
17天前
|
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
32 12
AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
14 0
HCL AppScan Standard 10.8.0 (Windows) - Web 应用程序安全测试
Benchmark.NET:让 C# 测试程序性能变得既酷又简单
Benchmark.NET是一款专为 .NET 平台设计的性能基准测试框架,它可以帮助你测量代码的执行时间、内存使用情况等性能指标。它就像是你代码的 "健身教练",帮助你找到瓶颈,优化性能,让你的应用跑得更快、更稳!希望这个小教程能让你在追求高性能的路上越走越远,享受编程带来的无限乐趣!
171 13
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
102 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
文章全面介绍了软件测试的基本概念、目的、岗位分类、与开发和调试的区别,并阐述了成为优秀测试人员应具备的素质和技能。
447 1
什么是软件测试? 软件测试都有什么岗位 ?软件测试和调试的区别? 软件测试和开发的区别? 一位优秀的测试人员应该具备哪些素质? 软件测试等相关概念入门篇
大模型体验体验报告:OpenAI-O1内置思维链和多个llm组合出的COT有啥区别?传统道家理论+中学生物理奥赛题测试,名不虚传还是名副其实?
一个月前,o1发布时,虽然让人提前体验,但自己并未进行测试。近期终于有机会使用,却仍忘记第一时间测试。本文通过两个测试案例展示了o1的强大能力:一是关于丹田及练气的详细解答,二是解决一道复杂的中学生物理奥赛题。o1的知识面广泛、推理迅速,令人印象深刻。未来,或许可以通过赋予o1更多能力,使其在更多领域发挥作用。如果你有好的测试题,欢迎留言,一起探索o1的潜力。
244 1
数据驱动测试和关键词驱动测试的区别
数据驱动测试 数据驱动测试或 DDT 也被称为参数化测试。
71 1
Kali渗透测试:远程控制程序基础
Kali渗透测试:远程控制程序基础
81 0
Kali渗透测试:远程控制程序基础
面向对象测试和传统测试的区别
面向对象测试和传统测试的区别
125 9
Kali渗透测试:通过Web应用程序实现远程控制
Kali渗透测试:通过Web应用程序实现远程控制
74 0

热门文章

最新文章

  • 1
    小鱼深度评测 | 通义灵码2.0,不仅可跨语言编码,自动生成单元测试,更炸裂的是集成DeepSeek模型且免费使用,太炸裂了。
    28120
  • 2
    3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
    31
  • 3
    Potpie.ai:比Copilot更狠!这个AI直接接管项目代码,自动Debug+测试+开发全搞定
    11
  • 4
    【01】噩梦终结flutter配安卓android鸿蒙harmonyOS 以及next调试环境配鸿蒙和ios真机调试环境-flutter项目安卓环境配置-gradle-agp-ndkVersion模拟器运行真机测试环境-本地环境搭建-如何快速搭建android本地运行环境-优雅草卓伊凡-很多人在这步就被难倒了
    21
  • 5
    基于FPGA的图像双线性插值算法verilog实现,包括tb测试文件和MATLAB辅助验证
    2
  • 6
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    7
  • 7
    「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
    10
  • 8
    用户说 | 通义灵码2.0,跨语言编码+自动生成单元测试+集成DeepSeek模型且免费使用
    16
  • 9
    阿里云零门槛、轻松部署您的专属 DeepSeek模型体验测试
    26
  • 10
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    5