键盘输入两个2位十c语言二进制数的输入,以十六进制形式输出两个数的积、商级余数。。

当前位置:
>>>计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A~..
计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A~F共16个计数符号,这些符号与十进制的数字的对应关系如下表,例如,用十六进制表示E+D=1B,则A×B=&&&&&&&
A.6E&&&&&& B.72C.5FD.B0
题型:单选题难度:中档来源:吉林省期中题
马上分享给同学
据魔方格专家权威分析,试题“计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A~..”主要考查你对&&算法案例&&等考点的理解。关于这些考点的“档案”如下:
现在没空?点击收藏,以后再看。
因为篇幅有限,只列出部分考点,详细请访问。
主要有辗转相除法、更相减损术、秦九韶算法、k进制化十进制的算法。
辗转相除的定义:
所谓辗转相除法,就是对于给定的两个数,用较大的数除以较小的数。若余数不为零,则将余数和较小的数构成新的一对数,继续上面的除法,直到大数被小数除尽,则这时较小的数就是原来两个数的最大公约数。
更相减损术的定义:
就是对于给定的两个数,用较大的数减去较小的数,然后将差和较小的数构成新的一对数,再用较大的数减去较小的数,反复执行此步骤直到差数和较小的数相等,此时相等的两数便为原来两个数的最大公约数。比较辗转相除法与更相减损术的区别:
(1)都是求最大公约数的方法,计算上辗转相除法以除法为主,更相减损术以减法为主,计算次数上辗转相除法计算次数相对较少,特别当两个数字大小区别较大时计算次数的区别较明显。(2)从结果体现形式来看,辗转相除法体现结果是以相除余数为0则得到,而更相减损术则以减数与差相等而得到。辗转相除法的一个程序算法的步骤:
第一步:输入两个正整数m,n(m&n).第二步:计算m除以n所得的余数r.第三步:m=n,n=r.第四步:若r=0,则m,n的最大公约数等于m;否则转到第二步.第五步:输出最大公约数m.
更相减勋术的一个程序算法步骤:
第一步:输入两个正整数a,b(a&b);第二步:若a不等于b,则执行第三步;否则转到第五步;第三步:把a-b的差赋予r;第四步:如果b&r,那么把b赋给a,把r赋给b;否则把r赋给a,执行第二步;第五步:输出最大公约数b.
发现相似题
与“计算机中常用的十六进制是逢16进1的计数制,采用数字0~9和字母A~..”考查相似的试题有:
824085751654761578819991266132840594编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出_百度知道
编写程序计算从键盘输入两个不超过四位的十进制数的和、差、积、商,并以十进制形式输出
汇编程序编写
我有更好的答案
.MODEL SMALLCode
CS:Code,DS:codeCR
000AHKBBack
0008H; -------------------------------------; 功能:显示指定地址(Str_Addr)的字符串; 入口:; Str_Addr=字符串地址(要求在数据段); 用法: Output Str_Addr; 用法举例:Output PromptStrOutput
MACRO Str_Addr
dx,Str_Addr
EndM; -------------------------------------; 功能:输出一个字符 ; 入口:dl=要显示的字符 Output_Chr
ret Output_Chr
endp ; -------------------------------------; 功能:输出回车换行Output_CTLF proc
retOutput_CTLF endp ; -------------------------------------; 功能:取光标位置; 入口:无; 出口:DH=行号,DL=列号GetCursor
Cursor_Row,DH
Cursor_Col,DL
RETCursor_Row DB
?Cursor_Col DB
?GetCursor
EndP; -------------------------------------; 功能:置光标位置; 入口:Cursor_Row=行坐标; Cursor_Col: 列坐标)SetCursor
DH,Cursor_Row
DL,Cursor_Col
RETSetCursor
EndP; -------------------------------------; 功能:键盘输入一个指定位数的十进制数字,将其转换成二进制数并保存在指定的内存单元。; 由于限定最大数据类型为字,所以,数字位数最多:5,最大无符号数:65536; 约定:直接回车,视为数字0; 入口:@@Digits=数字位数;di=保存输入的数字首地址;
@@Type_Data=保存的数据类型,B=字节类型,W=字类型。; 出口:转换后的二进制数保存在di所指的单元Input_Digit Proc
di,@@Save_Tmp
cl,@@Digits
cx@@Input:
GetC取光标位置
ah,1 ;从键盘接受一个字符
al,CR ;若键入的是回车,已经键入的数字不足N位
@@ASC_D转去处理已经键入的数字
@@KB_B若是回空键,重新输入
al,'0'
@@KBB若低于数字'0',重新输入
al,'9'
@@KBB若低于数字'9',重新输入
@@Save_Dig@@KB_Back: dec
Cursor_Col
di@@KBBack:
SetC置光标位置
@@Input@@Save_Dig: and
al,0转换成二进制数保存
@@I接受下一个数字@@ASC_Dec: mov
cx,实际输入的数字位数
@@Save_R若直接回车,没有输入任何数字,按输入'0'处理实际输入的数字位数减1,准备把输入的这一串数字转换成二进制数
@@One_D若输入的数字只有一位,转去直接保存这个二进制数
bx,10@@Mul_Ten: lodsb
@@Mul_Ten@@One_Digit: lodsb
ax,bp@@Save_Ret: pop
@@Type_Data,'B' ;字节类型?
ret@@Digits
? ;十进制数字位数@@Type_Data db
'B' ;保存的数据类型。B=字节类型,W=字类型@@Save_Tmp db
16 dup(?)Input_Digit EndP; -------------------------------------; 功能:把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示; 入口:AX=二进制数 ; 出口:在当前光标位置显示转换后的ASCII码数字 Dec_ASCII
di,@@Temp_Save[6]
byte ptr [di],'$'
cld @@Divide:
ret @@Temp_Save
7 dup(?)Dec_ASCII
EndP; -------------------------------------; 加法运算Addition
ax,Number1
Dec_ASCII ;把AX中的二进制无符号数转换成显式的十进制ASCII码,并送显示屏显示
dl,'+'
Output_C显示一个加号
ax,Number2
Dec_ASCII ;显示第二个数
dl,'='
Output_C显示一个等号
ax,Number1
ax,Number2 ;Number1+Number2→AX
Dec_ASCII ;显示和
retAddition
EndP; -------------------------------------; 减法运算Subtration Proc
ax,Number1
dl,'-'
Output_C显示一个减号
ax,Number2
Dec_ASCII ;显示第二个数
dl,'='
Output_C显示一个等号
ax,Number1
ax,Number2 ;Number1-Number2→AX
Dec_ASCII ;显示差
retSubtration EndP; -------------------------------------; 乘法运算(请事先算好了,否则,容易导致乘积超过16位寄存器能够表示的范围)Multiple
ax,Number1
dl,'*'
Output_C显示一个乘号
ax,Number2
Dec_ASCII ;显示第二个数
dl,'='
Output_C显示一个等号
ax,Number1
Number2 ;Number1*Number2→AX
Dec_ASCII ;显示乘积(假定乘积不超过16位寄存器能够表示的范围)
retMultiple
EndP; -------------------------------------; 除法运算Division
ax,Number1
dl,'/'
Output_C显示一个除号
ax,Number2
Dec_ASCII ;显示第二个数
dl,'='
Output_C显示一个等号
ax,Number1
Number2 ;Number1/Number2→AX(商),DX(余数)
Dec_ASCII ;显示商数的整数部分
dx,0判断余数是否为0
$+3 ;不能整除,计算余数
dl,'.'Disp_Dot:
Output_C显示一个等号
Disp_Dot余数
Dec_ASCII ;显示余数部分
retDivision
EndP; -------------------------------------Number1
?prompt_One db
'Please the first number: $'prompt_Two db
'Please the second number: $'Press_Key
13,10,13,10,'The complated. Press any key to exit...$' Start:
cs使数据段、附加段与代码段同段; -------------------------------------; 输入两个十进制数
Output prompt_O提示输入第一个数
@@Digits,4 ;十进制数字位数
@@Type_Data,'W' ;保存的数据类型。B=字节类型,W=字类型
di,Number1 ;变量Number1的地址
Input_D从键盘接受一个N位数字
Output_CTLF ;输出一个回车、换行
Output prompt_T提示输入第一个数
di,Number2 ;变量Number1的地址
Input_D从键盘接受一个N位数字
Output_CTLF ;输出一个回车、换行
Output_CTLF ;输出一个回车、换行; -------------------------------------
Output_CTLF ;显示一个回车、换行
Output_CTLF ;显示一个回车、换行
Output_CTLF ;显示一个回车、换行
D除法运算; -------------------------------------Exit_Proc: Output Press_K提示操作完成,按任意键结束程序
ah,4结束程序
S编译到此结束
倒数24行 4是位数可以改
为您推荐:
其他类似问题
十进制数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。c语言编写一程序,以字符串形式输入两个十进制数,将两个字符串对应的十进制数相加,将得到的结果输出。_百度知道
c语言编写一程序,以字符串形式输入两个十进制数,将两个字符串对应的十进制数相加,将得到的结果输出。
字符串长度20位以上都可以实现。我是初学者
刚学了数组和函数
我有更好的答案
#include&stdio.h&#include&string.h&#include&math.h&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&n1;i++)
a=a+((str1[i]-48)*pow(10,n1-i-1)); printf(&a=%ld\n&,a); for(i=0;i&n2;i++)
b=b+((str2[i]-48)*pow(10,n2-i-1)); printf(&b=%ld\n&,b); printf(&a+b=%ld&,a+b); getch();}
采纳率:50%
#include&stdio.h&void main(){long nums[2];scanf(&%ld%ld&,&nums[0],&nums[1]);//输入两个数,输入格式如:123 121,中间用空格隔开或者回车键printf(&两个数相加的和为 %ld&,nums[0]+nums[1]);}其实你弄懂输入两个数就好,用数组接收输入的两个数,我们输入的时候呢就是一个字符串,系统会自动转换为长整型。
说的太模糊了,能具体举个列子吗?
程序运行后,在键盘输入两个字符串,可输出它们对应的十进制数的和
c[i]-48就可以把字符转换为十进制数,其他的自己写就可以
为您推荐:
其他类似问题
十进制数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。“从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出”,怎么用C语言编写?_百度知道
“从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出”,怎么用C语言编写?
include &stdio.h&void main(){int a,b;printf(&请输入2个八进制数:&);scanf(&%o %o&,&a,&b);printf(&a+b = %d(十进制)\n&,a+b);printf(&a+b = %x(十六进制)\n&,a+b);}
采纳率:73%
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。用汇编语言编程题目是:从键盘输入两个一位十进制数,计算这两个数之积,并将其结果在屏幕上显示出来。_百度知道
用汇编语言编程题目是:从键盘输入两个一位十进制数,计算这两个数之积,并将其结果在屏幕上显示出来。
急急急急急急急急急~!!!!!!!
我有更好的答案
您好,我看到您的问题很久没有人来回答,但是问题过期无人回答会被扣分的并且你的悬赏分也会被没收!所以我给你提几条建议:一,你可以选择在正确的分类下去提问,这样知道你问题答案的人才会多一些,回答的人也会多些。二,您可以到与您问题相关专业网站论坛里去看看,那里聚集了许多专业人才,一定可以为你解决问题的。三,你可以向你的网上好友问友打听,他们会更加真诚热心为你寻找答案的,甚至可以到相关网站直接搜索.四,网上很多专业论坛以及知识平台,上面也有很多资料,我遇到专业性的问题总是上论坛求解决办法的。五,将你的问题问的细一些,清楚一些!让人更加容易看懂明白是什么意思!谢谢采纳我的建议!
为您推荐:
其他类似问题
十进制数的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 qt 输入二进制数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信