c語言計算乘法
A. c語言裡面除法和乘法怎麼運算
答案是不一定。
比如a*2,實現方法很可能是將a向左移動1位,就實現*2了,*1024就移動10位。
如果不是*2,也可能像樓上說的+某個數N次,比如a*5不就是把a自加5次么,但也不一定,編譯器會找到一種最「快」的方法運算。
還有就是,這個很可能不是C實現的,是匯編器實現的,因為C編譯器只是把C的代碼乘除代碼翻譯成匯編代碼,而匯編也有乘、除法,C編譯器顯然只是翻譯成匯編代碼,然後由匯編器解決,匯編器的做法就像我上面說的那種,找一種最快的運算次數最少的方法來實現。
B. c語言乘法
嚴格來講,你的代碼是錯誤的,用int的b接收double型的a的計算結果,是不可以的,即使結果是整數。
結果當然也會出現誤差。正確的應該是:
double a=10.3845;
double b;
b=10000*a;
printf("%lf",b);
補充:把上面 printf("%lf",b);改為printf("%.0lf",b); 就能使後面無小數。
C. 乘法在c語言中怎麼表示比如加法是add
估計你的意思是說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中去)
D. c語言乘法計算
#include<stdio.h>//因為要用到scanf和printf函數,需要包含這個頭文件
voidmain(){inta,b,c;//沒有返回值的main函數
scanf("%d%d",&a,&b);//因為題目要求用空格分隔兩個數因此不可以用%d,%d
c=a*b;
printf("%d ",c);
//由於前面聲明main函數是void型,因此這里可以寫return;或者省略
}
E. C語言2個數相乘
兩數相乘的C語言編程:
(5)c語言計算乘法擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
C 語言是以函數形式提供給用戶的,這些函數可方便的調用,並具有多種循環、條件語句控製程序流向,從而使程序完全結構化。
F. C語言,求任意兩數相乘的積!
#include <stdio.h>
void main()
{
int a,b,c;
printf("請輸入a和b的值:");
scanf("%d %d", &a, &b);
c = a * b;
printf("a*b = %d ",c);
}
(6)c語言計算乘法擴展閱讀:
C語言中,運算符的運算優先順序共分為15 級。1 級最高,15 級最低。 在表達式中,優先順序較高的先於優先順序較低的進行運算。而在一個運算量兩側的運算符 優先順序相同時,則按運算符的結合性所規定的結合方向處理。
結合性:C語言中各運算符的結合性分為兩種,即左結合性(自左至右)和右結合性(自右至左)。例如算術運算符的結合性是自左至右,即先左後右。如有表達式x-y+z 則y 應先與「-」號結合,執行x-y 運算,然後再執行+z 的運算。這種自左至右的結合 方向就稱為「左結合性」。
而自右至左的結合方向稱為「右結合性」。最典型的右結合 性運算符是賦值運算符。如x=y=z,由於「=」的右結合性,應先執行y=z 再執行x=(y=z)運算。C語言運算符中有不少為右結合性,應注意區別,以避免理解錯誤。
G. C語言 編寫函數,求兩數的乘積。
#include <stdio.h>
//計算兩數相乘函數
int multi(int x,int y)
{
return x*y; //返回兩數相乘結果
}
int main()
{
int m,n;
printf("輸入兩個整數: ");
scanf("%d%d",&m,&n);
printf("%d * %d = %d\n",m,n,multi(m,n)); //調用函數,輸出結果
return 0;
}
H. C語言 乘法
#include<stdio.h>
void main(){
for (int i=1;i<=10;i++) printf("5*%d=%d\n",i,5*i);
}
I. 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
*/