有效的方法

F

fahadislam2006

Guest
您好所有...
明天我再有一次采访...并获得在上次采访中
, 我的问题是...什么是有效的方法复制4字符串到另一个...

我仍然感到困惑的一点...u能引导西隧可能是有效的方式?

1我的感觉是循环的方法...另一个是使用strcpy函数(这不是他们在嵌入式)...

但可以有其他更有效的方式???1分钟后添加:当务之急是plz ...答复soooooooon49分钟后添加:我在这里在线...等待乌拉圭回合的答复...在整个黑夜:理念:

<img src="http://www.edaboard.com/images/smiles/icon_cry.gif" alt="哭或很伤心" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="很高兴" border="0" />
 
在什么是编程语言应该是有效执行???

Q什么奇怪的?在接受采访时!!!!!!

 
这是依靠从控制器,并从languadge。我不能肯定strcpy是一个优化的指令。如果你有一个固定的4字节,最快的方法是使用字节到4字节复制的时间。例如
, 如果本山图片:

movfw byte_1
movwf byte_1C
movfw byte_2
movwf byte_2C
movfw byte_3
movwf byte_3C
movfw byte_4
movwf byte_4C

这是一个只有8指令。如果您谈谈关于C ...这是一种方法
, 但与C指令,另一种方法
, 就是宣布这32个字节数的起始地址,如果禁止这种编译器
, 让编译器使用的一些快捷方式。或者你可以使用(),但后来你的鳕鱼将会是巨大的,其速度将是太低,如果用一个4性格。如果这是在n性格,对()将smalles。

 
萨拉姆,

使用指针。这是很常见的字符串处理。

例如字符串复制到另一个您可以使用此功能

代码:

无效strcpy(字符*深,烧焦*结构)/ *的拷贝到d * /

而((*深=*拧)!='\ 0')(

Ḏ ;

š ;


 
绝对依赖于处理器。一些CISC处理器有像英特尔的386的字符串指示:
中医/ CMPSB / CMPSW / CMPSD =比较字符串操作数
惯性/锑化铟/ INSW / INSD =从港到字符串输入
洛村/ LODSB / LODSW / LODSD =载入弦乐
压敏电阻/ MOVSB / MOVSW / MOVSD =移动从String为字符串数据
超时/ OUTSB / OUTSW / OUTSD =输出字符串到港
回港证/ REPE / REPZ / REPNE / REPNZ =重复字符串操作前缀
活性污泥/ SCASB / SCASW / SCASD =扫描字符串
什托斯/ STOSB / STOSW / STOSD =存储字符串

 
我要问:“效率”在什么意义?
在速度方面?然后
, 有线性结构的程序(即没有一个循环,因为Tohu建议)是最好的。
在内存使用(程序的大小)的条款?然后
, 一个循环wuold更好地为大尺寸的数据或可变大小。

对于刚刚4个字符,线性的办法是无论在速度和程序的大小最好的。循环的初始化和测试结束逾时消耗的时间和条件的一些大小。没有循环你没有初始化或测试,但该程序的大小比例为N(数组的大小)。随着循环,大小是独立的N,但你必须初始化(一次)和测试(在每个循环迭代)。

如果我是面试者,我有兴趣测试
, 你如何分析问题的考虑的变量,在得到一个确切的答复没有。

关心

ž

 

Welcome to EDABoard.com

Sponsor

Back
Top