Calculating the Average
来源:互联网 发布:哪些网游支持mac 编辑:程序博客网 时间:2024/05/16 19:02
给定100的数据,计算这100个数据的平均值
方法:space创建连续的内存空间,存储100个数据,首先计算这100个数据的和作为被除数,使用移位和减法来计算除法,得到商和余数
二进制除法
将被除数和除数当做二进制,被除数每次左移1位,和除数作减法
算法流程
1)将商和余数清零
2)将被除数左移1位到余数中
3)余数和除数作减法
4)若所得结果为负数,则将商的最低位置零;
若所得结果为正数或零,则将商的最低位置1,并且将所得结果存入余数中
5)判断是否达到循环的次数(循环的次数,即数据的位数)
6)若达到循环的次数,退出,得到结果
若没有达到循环的次数,将商值左移1位,余数左移1位,继续进行步骤2
stack_top EQU 0x30200000 AREA ave,CODE,READWRITE code32 entrystart ldr r0,= array ;r0 point to the 100 num mov r1, #1 mov r2, #0 ldr sp,= stack_toparrayinit add r2, r1, #0 str r2, [r0], #4 add r1, r1, #1 cmp r1, #101 bne arrayinitaverageinit ldr r0,= array mov r1, #1 mov r2, #0 ;r2 point to the dividend beicu mov r3, #0 ;r3 point to the ramainder yu mov r4, #0 ;r4 point to the quotient shangetsum ldr r3, [r0], #4 add r2, r2, r3 add r1, r1, #1 cmp r1, #101 bne getsumaverage mov r1, #1 mov r3, #0aveloop movs r2, r2, lsl#1 addcs r3, r3, #1 subs r5, r3, #100 biccc r4, r4, #1 orrcs r4, r4, #1 movcs r3, r5 add r1, r1, #1 cmp r1, #33 movne r4, r4, lsl#1 movne r3, r3, lsl#1 bne aveloop stop b stop ltorgarray space 100 end
阅读全文
0 0
- Calculating the Average
- 计算数组中最大值、最小值和平均值的方法(The methods of calculating the maximum, minimum and average of a array )
- poj 2833 The Average
- pku 2833 The Average
- poj - 2833- The Average
- 平均数 The Average
- calculate the average score
- poj 2833 The Average
- poj 2833 The Average
- (优先队列)The Average
- Calculating the Range of Addresses on Your Network
- Calculating The Logical Height and Point Size of a Font
- Hackers have got commenced while using the great calculating
- Calculating The Logical Height and Point Size of a Font
- 圆周率π的计算(Calculating the Value of π)
- average
- Average
- Average
- 【java基础】:一个可用的java做的关于socket的客户端跟服务端
- 复数与欧拉公式的转换证明
- insert插入多条数据
- UVa 11838
- SublimeText3: ImportError: No module named ‘urllib2′
- Calculating the Average
- 【bellman-Ford判断正权回路】POJ
- 取得字符串前几位
- 一个屌丝程序猿的人生(一)
- 欢迎使用CSDN-markdown编辑器
- 用for循环打印出由单个字符组成的三角形
- Xcode 常用代码块
- d3画中国地图
- HTML制表符大全