重要掌握

news/2024/11/30 9:42:28/

1.折半查找算法(二分查找法)

#include<stdio.h>
int BinarySearch(int a[],int num,int number)
{int low,high,mid;high=num;low=1;while(low<=high){mid=(low+high)/2;printf("low=%d\n",low);printf("high=%d\n",high);printf("a[mid-1]=%d\n\n",*(a+mid-1));if(*(a+mid-1)==number)return mid;else if(*(a+mid-1)>number){high=mid-1;}else{low=mid+1;}}return 0;	}int main(int argc,char *argv[])
{int a[]={05,13,19,21,37,56,64,75,80,88,92};printf("POS=%d\n",BinarySearch(a,sizeof(a)/sizeof(a[0]),74));	
} 


2.递规反向输出字符串的例子,可谓是反序的经典例程.

void inverse(char *p)
{if( *p = = '\0' ) 
return;inverse( p+1 );printf( "%c", *p );
}
int main(int argc, char *argv[])
{inverse("abc\0");return 0;
}

3.大端与小端存储

小端:较高的有效字节存放在较高的的存储器地址,较低的有效字节存放在较低的存储器地址。

大端:较高的有效字节存放在较低的存储器地址,较低的有效字节存放在较高的存储器地址。

如果将一个16位的整数0x1234存放到一个短整型变量(short)中。这个短整型变量在内存中的存储在大小端模式由下表所示。 

地址偏移

大端模式

小端模式

0x00

12(OP0)

34(OP1)

0x01

34(OP1)

12(OP0)

由上表所知,采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,大端方式将高位存放在低地址,小端方式将高位存放在高地址。采用大端方式进行数据存放符合人类的正常思维,而采用小端方式进行数据存放利于计算机处理。到目前为止,采用大端或者小端进行数据存放,其孰优孰劣也没有定论。

有的处理器系统采用了小端方式进行数据存放,如Intel的奔腾。有的处理器系统采用了大端方式进行数据存放,如IBM半导体和Freescale的PowerPC处理器。不仅对于处理器,一些外设的设计中也存在着使用大端或者小端进行数据存放的选择。

因此在一个处理器系统中,有可能存在大端和小端模式同时存在的现象。这一现象为系统的软硬件设计带来了不小的麻烦,这要求系统设计工程师,必须深入理解大端和小端模式的差别。大端与小端模式的差别体现在一个处理器的寄存器,指令集,系统总线等各个层次中。

【用函数判断系统是Big Endian还是Little Endian】

//如果字节序为big-endian,返回true;
//反之为   little-endian,返回false

bool IsBig_Endian()
{
    unsigned short test = 0x1234;
    if(*( (unsigned char*) &test ) == 0x12)
       return TRUE;
   else
       return FALSE;

}//IsBig_Endian()




http://www.ppmy.cn/news/522924.html

相关文章

深度学习行业中的各类岗位概览

经过之前的系列文章&#xff0c;相信小伙伴对于深度学习工程师&#xff0c;已经有模糊的画像 &#xff08;敢说不知道的&#xff0c;打洗你&#xff01;&#xff09; 不过&#xff0c;除了工程师们&#xff0c;深度学习从业者还包括哪些岗呢&#xff1f; 今天小编为大家呈上深度…

管理,实践出真知的艺术

前言 管理并不像很多书本上说的那样玄妙&#xff0c;其中包含大量以感性驱动的做事方法&#xff0c;但也同时包含着大量的理性和逻辑。 即使说管理是一种艺术&#xff0c;但大多数情况下&#xff0c;也是上述两种不同内涵经过有机地结合而产生得产物。我们可以按照理性和逻辑…

BlockChain:《区块链技术在医疗领域应用分析》—中投顾问《2016-2020年区块链技术深度调研及投资前景预测报告》听课笔记

BlockChain&#xff1a;《区块链技术在医疗领域应用分析》听课笔记 导读 医疗行业接纳区块链技术的时间相对来说比较晚&#xff0c;不过并没错过应用区块链的时机。区块链技术正在改变全球医疗行业&#xff0c;逐渐融入到这个新的领域。区块链技术的出现&#xff0c;显得健…

想要自学CAD,这几款常用于3D建模作业的软件不可不备

居家生活还在无所事事吗&#xff1f;闲不住的人已经开始“试水”3D建模了&#xff01;娱乐咨询、广告传媒、建筑设计……只要存在图像的地方&#xff0c;总有三维设计掌握者大展身手的机会。 3D建模的成品丰富多样&#xff0c;实现3D建模的软件也是五花八门&#xff0c;提前准…

初学react

1、是什么&#xff1f; 1.1、用于构建用户界面的JavaScript库 是一个将数据渲染为HTML视图的开源Javascript库 发送请求获取数据处理数据&#xff08;过滤、整理格式等&#xff09;操作DOM呈现页面 2、为什么要学&#xff1f; 2.1原生js缺点&#xff1a; 原生js操作DOM繁琐…

Redis从入门到实战,看这一份笔记就够了,看完足够你面试一线名企了!

前言 本文深入浅出地介绍了 Redis 的 5 种数据类型&#xff0c;并通过多个实用示例展示了 Redis 的用法。除此之外&#xff0c;文中还讲述了 Redis 的优化方法以及扩展方法&#xff0c;是一份对于学习和使用 Redis 来说不可多得的参考笔记。 笔记一共由三个部分组成。第一部分…

鸿蒙三千法则排名,混沌三千大道,鸿钧掌仙道,仅排第五!前十大道分别为谁掌握?...

原标题&#xff1a;混沌三千大道&#xff0c;鸿钧掌仙道&#xff0c;仅排第五&#xff01;前十大道分别为谁掌握&#xff1f; 鸿蒙未判之先&#xff0c;混沌为永恒&#xff0c;无天地&#xff0c;无日月&#xff0c;无生灵&#xff0c;无恩怨纠葛&#xff0c;无始无终。大道&am…

新致新知 | 开启图谱赋能认知新篇章

​ 信息爆炸时代&#xff0c;我们还好吗&#xff1f; 不知道大家生活中有没有这样的一些感受&#xff0c;就是买东西越来越难了。并不是因为买东西的途径变少了&#xff0c;而是因为买东西的途径太多了。已经不知道从哪个渠道去买&#xff0c;从哪个渠道听大家的测评是最合适自…