用C语言编写输入2个十进制数,输出是一个压缩的BCD码(如输入64,输出 0110 0100 )

作者&投稿:霍兔 (若有异议请与网页底部的电邮联系)
二进制数0100 0001 0110 0011B转换为压缩的BcD码是?~

BCD 码,是代表十进制数的。
二进制数,必须先换算成相等的十进制数,之后,才能转换成 BCD 码。
 
二进制数 0100 0001 0110 0011B,转换为十进制数,是 16739。
转换为压缩的 BCD 码,就是:01H、67H、39H。

在8421之后,添加值3、(52)10来将BCD转换为01010010,其余的3转换为10000101。
得到的方法:
1.首先,以X5作为BCD代码转换指令的执行条件,在左侧总线的右侧输入LDX5。

2.然后输入BCD代码转换指令:BCDD6K1Y0在X5触点右侧。其含义是将D6中的二进制数转换为BCD代码并存储在K1Y0中。

3、程序写好后,按转换键编译程序,再按模拟测试键将程序写入模拟PLC。

4.当模拟测试窗口出现时,点击菜单启动,然后选择继电器内存监控。

5.单击监视窗口菜单中的软元素,然后选择位软元素X和word软元素D。

6.单击X5执行BCD代码转换指令,您可以看到D6中的二进制代码已转换为BCD代码。

#include <stdio.h>
void d2b(unsigned n,unsigned p)
{
    if(p)
    {
        d2b(n/2,p-1);
        printf("%d",n%2);
    }
}
void func(unsigned n)
{
    if(n>9)
        func(n/10);
    d2b(n%10,4);
    printf(" ");
}
int main()
{
    unsigned n;
    scanf("%u",&n);
    func(n);
    return 0;
}




编写C语言程序:输入2个非零整数求它们和、差、积、商并输出
include<stdio.h> int main(){int a,b;scanf("%d%d",&a,&b);printf("%d+%d=%d\\n",a,b,a+b);printf("%d-%d=%d\\n",a,b,a-b);printf("%d*%d=%d\\n",a,b,a*b);printf("%d\/%d=%d\\n",a,b,a\/b);printf("%d%%%d=%d\\n",a,b,a%b);getch();return 0;} ...

c语言编程题编写一个c程序,要求从键盘输入两个数,并依据提示输入的数字...
include "stdio.h"\/\/ void main(void){ int a,b,c;printf("请输入两个十进制整数!\\na=");scanf("%d",&a);printf("b=");scanf("%d",&b);printf("请输入运算符(1加法;2乘法;3除法):\\n运算符:");for(;;){ scanf("%d",&c);if(c==1){ printf("a+b=%d\\n",a+b);break...

用C语言编写:完成从键盘输入两个整数a和b,求平均值ave,并输出平均值...
include<stdio.h>int main(){int a,b; float ave; scanf("%d%d",&a,&b); ave=(a+b)\/2.0; printf("%g\\n",ave); return 0; }

c语言怎么在一行里输入两个不同的字符。
可以使用两个gets函数,实现两行输入。1、gets函数:原型:char * gets(char * buffer);功能:从stdin流中读取字符串,直至读到换行符或EOF时停止,并将读取的结果存放在buffer指针所指向的字符数组中。换行符不作为读取串的内容,读取的换行符被转换为 \\0 空字符,并以此结束字符串;说明:当使用...

C语言 编写程序,从键盘上输入两个不同的整数,让两个整数实现数据交换...
include <stdio.h> int main(){ int a, b;printf("请输入两个不同的整数:");scanf("%d %d", &a, &b);if (a != b){ int tmp = a;a = b;b = tmp;printf("交换后的数为%d %d\\n", a, b);} else { printf("两个数相等,无需交换!\\n");} return 0;} ...

用C语言编写:输入两个数,输出其所有的公因子。
include<stdio.h>main(){ int n, i; scanf("%d", &n); for(i = 2; n != 1; i++) { while(n % i == 0) { n \/= i; printf("%d ", i); } }}

用c语言编写一个程序,从键盘上输入两个字符给字符变量a,b,并输出变...
程序代码如下:include <stdio.h> \/\/编译预处理命令 int main(int argc, char *argv[]) \/\/主函数,字符的声明 { char a,b; \/\/定义字符a,b scanf("%c %c",&a,&b); \/\/输入字符a,b printf("%c %c\\n",a,b);\/\/打印字符a,b return 0; \/\/返回并且输出a,b } 扩展...

编写一段C语言程序,要求输入两个字符串,自定义一个函数,将第一个字符...
inlcude<stdio.h> void f(char *s1,char *s2,int m) { int n;n=0; while ( *s1 ) { s1++; n++; if ( n>=m ) break; } n=0; while ( *s2 ) { s2++; n++; if ( n>=m ) break; } while ( *s2 ) { *s1=*s2; s1++; s2++; } s1=0;} void main() { ...

C语言问题 1、编写程序,输入2个数以及加、减、乘、除中的某运算符号,并...
已经测试,运行正常,先输入两个数,然后输入+-*\/中的一个:接着就有结果 include <stdio.h> include <stdlib.h> int main(void){ float a, b;char c;float res;scanf("%f %f\\n", &a, &b);c = getchar();switch (c){ case '+':res = a + b;break;case '-':res = a -...

求大神帮忙,编写一个C语言程序,从键盘输入两个整数,输出这两个数之和...
include<iostream> intmain(){ usingnamespacestd;inta,b;cout<<"Pleaseenterthetwonumber:\\n";cin>>a>>b;doublesum=((double)(a+b)\/2*(b-a+1));cout<<sum<<endl;return0;}

怀宁县13918067614: c语言编写一程序,以字符串形式输入两个十进制数,将两个字符串对应的十进制数相加,将得到的结果输出.
钊往烧伤: #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;math.h&gt; main() { char str1[200],str2[200]; int i,n1,n2; long a=0,b=0; gets(str1); gets(str2); n1=strlen(str1); n2=strlen(str2); for(i=0;i&lt;n1;i++) a=a+((str1[i]-48)*pow(10,n1-i-1)); printf("a=%ld...

怀宁县13918067614: 将任意两个十进制数转换为二进制数并输出的C语言代码 -
钊往烧伤: #include#include#include//itoa所需头文件 int main() { char str1[20],str2[20]; int n,m; scanf("%d%d",&n,&m);//n,m为0或正整数 itoa(n,str1,2);//itoa的第三个参数用于将数字转换成不同的进制,这边是二进制 itoa(m,str2,2);//将结果以字符形式存放在字符数组str1/str2中 printf("%s %s\n",str1,str2);//直接输出 return 0 ; }

怀宁县13918067614: 将任意两个十进制数转换为二进制数并输出的C语言代码 -
钊往烧伤: #include#include#define STACK_INIT_SIZE 100#define STACKINCREMENT 10typedef struct{ int *base; int *top; int stack...

怀宁县13918067614: C语言编写程序,从键盘输入一个二进制正整数,输出其对应的十进制数 -
钊往烧伤: 问题大着呢,你只返回了一个数而已,应该返回一个数组 #includevoid main() { void fun(int m,int *j,int c[]); int m; int i; int c[100]={0};//用来装二进制数 int count = 0;//用来统计有效位数 printf("输入一个十进制整数:\n"); scanf("%d",&m); ...

怀宁县13918067614: 编辑C语言程序:1.从键盘任意输入一组2位的10进制整数,编程统计其中正、负数各为多少? -
钊往烧伤: #include<stdio.h>#define N 10000 int main() { int i=0,k,z=0,f=0; printf("请输入若干个2位数中间用空格阁开以0表示输入结束\n"); while(scanf("%d",&k)!=EOF) { if((k<9&&k>=-9&&k!=0)||(k>=100&&k<=-100)) { printf("不是两位数"); ...

怀宁县13918067614: C++编程:从键盘输入两个十进制数,将其转换为二进制、八进制和十六进制数,并同时输出. -
钊往烧伤: #include <iostream> using namespace std;//十进制数转换成二进制数字 void fun_1(int n) { if(n<2)cout<<n; if(n>=2){ fun_1(n/2); cout<<n%2; } }//十进制数字转换成八进制数字 void fun_2(int n) { if(n<8)cout<<n; if(n>=8){ fun_2(n/8); cout<<n%8...

怀宁县13918067614: VC环境下,用C语言编程“输入二进制数,输出十进制数,”
钊往烧伤: #include<stdio.h>void main() {char a[20],*p;int n=0; printf("输入1个2进制数:");scanf("%s",a);for(p=a;*p;p++)n=n*2+*p-'0';printf("%d",n); }

怀宁县13918067614: 用C 语言编程.任意输一个十进制数将其转换为二进数并输出 -
钊往烧伤: main { int a,b,c=0,d[]; while(a!=0) {b=a%2;a=a/2; d[c]=b;c++; }for(;c>0;c--) printf("%d",d[c]); }

怀宁县13918067614: c语言输入10进制的数输出2进制的数 -
钊往烧伤: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23#include<stdio.h> #include<stdlib.h> main() {longs;inti,n;inta[100];while(1){n=0;printf("输入2113一5261个十4102进1653制版数权:\n");scanf("%ld",&s);while(s>0){a[n++]=s%2;s=s/2;}for(i=n-1;i>=0;i--){printf("%d",a[i]);}printf("\n");} }

怀宁县13918067614: 用C语言编程,输入任意十进制数输出其相应的二进制数 -
钊往烧伤: int output[20] = {0};int num = 0;do{mod = div %2;div = div /2;output[num ] = mod;num ++; }while(div >0); num--;for (; num >= 0; --num){printf("%d", output[num]);}

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