A. 乘法在c語言中怎麼表示
估計你的意思是說C語言編譯成匯編語言之後乘法怎麼表示吧,因為在匯編中加法確實是用ADD表示的,下面給你運算符表:
ADD 加法.
ADC 帶進位加法.
INC 加 1.
AAA 加法的ASCII碼調整.
DAA 加法的十進制調整.
SUB 減法.
SBB 帶借位減法.
DEC 減 1.
NEC 求反(以 0 減之).
CMP 比較.(兩操作數作減法,僅修改標志位,不回送結果).
AAS 減法的ASCII碼調整.
DAS 減法的十進制調整.
MUL 無符號乘法.
IMUL 整數乘法.
以上兩條,結果回送AH和AL(位元組運算),或DX和AX(字運算),
AAM 乘法的ASCII碼調整.
DIV 無符號除法.
IDIV 整數除法.
以上兩條,結果回送:
商回送AL,余數回送AH, (位元組運算);
或 商回送AX,余數回送DX, (字運算).
AAD 除法的ASCII碼調整.
CBW 位元組轉換為字. (把AL中位元組的符號擴展到AH中去)
CWD 字轉換為雙字. (把AX中的字的符號擴展到DX中去)
CWDE 字轉換為雙字. (把AX中的字元號擴展到EAX中去)
CDQ 雙字擴展. (把EAX中的字的符號擴展到EDX中去)
B. C語言中求兩數相乘的程序
思路:double類型的范圍: -1.7*10(-308)~1.7*10(308),如果兩個數的乘積不超過這樣的精度,可以直接使用*符號進行運算。
參考代碼:
#include<stdio.h>
intmain()
{
doublea,b;
scanf("%lf%lf",&a,&b);
printf("%.2lf",a*b);//保留兩位小數
return0;
}
/*
運行結果:
12055985
7211925.00
*/
C. C語言2個數相乘
兩數相乘的C語言編程:
(3)求乘數c語言擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
D. c語言怎麼輸出乘法
有兩種:1.
#include<stdio.h>
void main()
{
int x,y;
clrscr();
for(x=1;x<=9;x++)
{ for(y=1;y<=x;y++)
printf("%d*%d=%d",x,y,x*y);
printf("\n");
}
getch();
}
附程序運行結果: 是在左邊對齊的
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
2.
#include<stdio.h>
void main()
{
int x,y,i;
clrscr();
for(x=1;x<=9;x++)
{for(i=1;i<=9-x;i++)
printf(" ");/*7個空格*/
for(y=1;y<=x;y++)
printf("%d*%d=%2d",x,y,x*y);
printf("\n");
}
getch();
}
附程序運行結果是右邊對齊的
E. 求高手用C語言寫個乘法的程序~
#include<stdio.h>
int i;
int n;
int aa[1000]; /*最多1000個數相乘,可以自己修改*/
int sum=1;
void main()
{
printf("請輸入要求相乘數的個數:");
scanf("%d",&n);
printf("請輸入要求相乘數的數字:");
printf("\n");
for(i=0;i<n;i++)
{
scanf("%d",&aa[i]);
sum=sum*aa[i];
}
printf("計算結果為%d:",sum);
printf("\n");
}
F. c語言乘法
嚴格來講,你的代碼是錯誤的,用int的b接收double型的a的計算結果,是不可以的,即使結果是整數。
結果當然也會出現誤差。正確的應該是:
double a=10.3845;
double b;
b=10000*a;
printf("%lf",b);
補充:把上面 printf("%lf",b);改為printf("%.0lf",b); 就能使後面無小數。
G. c語言用遞歸法求乘法,包括負數
按照你的要求用遞歸法求乘法(包括負數)的C語言程序如下
#include<stdio.h>
intmultiply(intn,intt){
if(t<0)return-multiply(n,-t);
if(t==0)return0;
returnn+multiply(n,t-1);
}
intmain(){
inta,b,result;
scanf("%d,%d",&a,&b);
result=multiply(a,b);
printf("%d",result);
return0;
}
運行結果
-5,5
-25
H. c語言 乘法
嚴格來講,你的代碼是錯誤的,用int的b接收double型的a的計算結果,是不可以的,即使結果是整數。
結果當然也會出現誤差。正確的應該是:
double a=10.3845;
double b;
b=10000*a;
printf("%lf",b);
補充:把上面 printf("%lf",b);改為printf("%.0lf",b); 就能使後面無小數。
I. C語言編程求兩個大數的乘積,幫忙看一個程序分析一下
voidcompute(char*a,char*b,char*c)
{
inti,j,m,n;
longsum,carry;
m=strlen(a)-1;//第一個乘數的位數
n=strlen(b)-1;//第二個成熟的位數
for(i=m;i>=0;i--)a[i]-='0';//將數字字元轉變成數
for(i=n;i>=0;i--)b[i]-='0';//將數字字元轉變成數
c[m+n+2]='