用c#實現複數的加減乘除
在本文中,我將向您展示一種使用c程式語言實現複數的方法。 請注意,使用此處提供的**沒有任何保證。
複數是乙個數字,例如z,表示z = realpart + i * imaginarypart,其中i是虛數單位,有時用j表示。 另外,i * i = -1,這在找到兩個複數的乘積/除法時很重要。
自然,我們可以將複數實現為結構:
/* definition of a complex number: */
typedef struct complex complex;
我們可以按如下方式將介面與實現分開。
首先,我們有標題
complex.h,它定義了complex結構幷包含操作乙個或多個complex數字的函式的原型:
/* complex.h */
#ifndef complex_h
#define complex_h
/* definition of a complex number: */
typedef struct complex complex;
/* prototypes for functions to manipulate complex number(s) (these functions are implemented in file complex.c): */
complex addition( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );
complex subtraction( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );
complex multiplication( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );
complex division( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 );
void print( const complex *pointertocomplexnumber );
#endif
檔案complex.c實現了以上功能:/* complex.c */
#include
#include "complex.h"
/* adds two complex numbers, returning a new one, without modifying the ones received: */
complex addition( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )
/* subtracts two complex numbers, returning a new one, without modifying the ones received: */
complex subtraction( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )
/* multiplies two complex numbers, returning a new one, without modifying the ones received: */
complex multiplication( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )
/* divides two complex numbers, returning a new one, without modifying the ones received: */
complex division( const complex *pointertocomplexnumber1, const complex *pointertocomplexnumber2 )
/* prints a complex number in the form ( realpart ) + i( imaginarypart ), without modifying it: */
void print( const complex *pointertocomplexnumber )
最後,我們有乙個名為complextest.c的檔案,該檔案在主函式中測試檔案complex.c和complex.h,這是我們c程式的起點:/* complextest.c */
#include
#include "complex.h"
int main( void )
要使用visual studio 2013編譯該程式,請從命令列開啟vs2013的「開發人員命令提示符」,轉到上述三個檔案所在的目錄,然後輸入命令cl complextest.c complex.c。然後,使用以下命令執行程式
綜合測試
翻譯自:用c#實現複數的加減乘除
C 用位運算實現加減乘除
include using namespace std intmain cout 兩個數x y求異或,得到的x,y不進製的和x0 101y 0110 x y001 1x與y求與,再左移一位,得到的是進製的數。x0 101y 0110 x y010 0 x y 110 00將不進製的和與進製的數再求和...
C 學習筆記 用位運算實現加減乘除
原文 資料在計算機記憶體中是以二進位制儲存的。幾種常用的位運算 以0111 0101為例,觀察異或運算和與運算的結果 0111 0101 0010 結果的每一位等於對應位相加模二,剛好是不帶進製的加法結果。0111 0101 0101 結果的1表示對應位相加為2,0表示對應位相加小於二,剛好是進製標...
用C語言設計計算器 實現加減乘除
方法一 通過普通方法 include includeint add int x,int y int sub int x,int y int nul int x,int y int drv int x,int y int main break case 2 break case 3 break cas...