找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 333|回复: 9

数的累加1+2+4+8+。。。。1024

[复制链接]
发表于 2009-12-3 09:43:09 | 显示全部楼层 |阅读模式 IP:江苏扬州
数的累加1+2+4+8+。。。。1024 谢谢指点!
发表于 2009-12-3 09:43:13 | 显示全部楼层 IP:江苏扬州
因为被加的数都是2的次方关系,所以采用左移方式,这样效率也比较高
累加片段:
MOV CX,10 ;楼主给出的最大数为2的10次幂,所以计数到最大为10
MOV AX,0 ;AX暂且为累加的寄存器
MOV BX,1 ;用于左移,初始值为1,即2的0次幂
NEXT: ADD AX,BX
SHL BX,1 ;采用逻辑左移 (BX)←(BX)*2
LOOP NEXT
回复

使用道具 举报

发表于 2009-12-3 09:43:17 | 显示全部楼层 IP:江苏扬州
我觉得还应该注意的一个问题是计算结果的存放,应该先笔算一下结果,然后选择合适的变量或寄存器来存放结果!
回复

使用道具 举报

发表于 2009-12-3 09:43:20 | 显示全部楼层 IP:江苏扬州
16位足够啦
试想下,最高才10位
1+2+4+...+1024不就是下面二进制数逻辑或运算么

0000000000000001
0000000000000010
0000000000000100
......
0000010000000000

结果不会溢出
回复

使用道具 举报

发表于 2009-12-3 09:43:24 | 显示全部楼层 IP:江苏扬州
呵呵!是啊 !我也是刚计算完才知道的!
回复

使用道具 举报

发表于 2009-12-3 09:43:28 | 显示全部楼层 IP:江苏扬州
厉害!!!!!!
回复

使用道具 举报

发表于 2009-12-3 09:43:32 | 显示全部楼层 IP:江苏扬州
请问要怎样实现输出啊?结果要怎么输出呢?
回复

使用道具 举报

发表于 2009-12-3 09:43:35 | 显示全部楼层 IP:江苏扬州
可以查看寄存器
要是输出的话可以每4位的看是不是大于9
转化为ASCII码来输出
回复

使用道具 举报

发表于 2009-12-3 09:43:39 | 显示全部楼层 IP:江苏扬州
可以写出程序来吗?
回复

使用道具 举报

发表于 2009-12-3 09:43:43 | 显示全部楼层 IP:江苏扬州
上次没有认真的想,随便说了一下。今天想了想,是要把16位转换为10为才可以的
程序是下面的,我也是刚刚学,可能很麻烦,高贵参考。希望大家也说说自己的想法
stack segment stack'stack'
dw 32 dup(0)
stack ends
data segment
buff db 10,0 ,10 dup(0)
data ends
code segment
main proc far
assume ss:stack,cs:code,ds:data
push ds
mov ax,0
push ax
mov ax,01h
mov bx,01h
mov si,01h
lop:shl bx,1
add ax,bx //加的到结果
cmp bx,0400h
jne lop
mov cx,1000 //得到千位
mov dx,0
div cx
mov buff[si],al
mov ax,dx
mov cx,100 //得到百位
mov dx,0
div cx
inc si
mov buff[si],al
mov ax,dx
mov dx,0
mov cx,10 //得到十位
div cx
inc si
mov buff[si],al
inc si
mov buff[si],dx //存个位
inc si
mov buff[si],'$'
mov si,1
xianshi: mov al,buff[si] //显示结果
cmp al,'$'
je next
add al,30h
mov dl,al
mov ah,2
int 21h
inc si
jmp xianshi
next:mov ah,4ch
int 21h
main endp
code ends
end main
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-29 13:21 , Processed in 0.270659 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表