从键盘输入一个十进制数,将其转换成等值的二进制数 C语言程序怎么写?

如题所述

第1个回答  2013-11-09
data segment
x db 34h ;00110100b ;34h在内存中的存储格式为00110100b
data ends

code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax

mov bl,byte ptr [x] ;al<-10001010b

mov cl,8 ;cx<-8

l1: test bl,80h ;看bl和1000000b与的最高为是否为1

jnz l2 ;如果不是1,则l2,输出0

mov dl,'0'
mov ah,02h
int 21h ;输出1

jmp l3

l2: mov dl,'1'
mov ah,02h
int 21h ;输出0

l3: shl bl,1 ;al逻辑左移,将次高位移动到最高位

dec cl
jnz l1

mov ah,4ch
int 21h
code ends
end start
这是汇编语言的算法
第2个回答  2013-11-09
#include"stdio.h"
main()
{int i,a[5],max,min,ave=0;<br/><br/>for(i=0;i<5;i++)<br/>scanf("%d",&a[i]);<br/>max=a[0];<br/>min=a[0];<br/>for(i=0;i<5;i++)<br/>{max=max>a[i]? max:a[i];<br/>min=min<a[i]? min:a[i];<br/>ave+=a[i];<br/>}
ave=(ave-max-min)/3;
printf("%d\n",ave);
}本回答被网友采纳
第3个回答  2013-11-09
#include<stdio.h>

void f(int n)
{
if(n) f(n/2);
else return;
printf("%d",n%2);
}

int main()
{
int n;
while(1)
{
scanf("%d",&n);
if(n<0) break;
if(n==0) printf("0");
f(n);
printf("\n");
}
return 0;
}
C语言版本

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网