C++,定義一個負數類

  • 作者:由 匿名使用者 發表于 文化
  • 2022-09-29

C++,定義一個負數類致橡樹2013.12.03 回答

#include “stdafx。h”

#includeusing namespace std; class Complex { private: double real; double imag; public: Complex(); Complex(double rl){ real = rl; imag=0; } Complex(double rl,double im){ real = rl; imag=im; } void add(Complex c){ real+=c。real; imag+=c。imag; } void show(){ cout<<<“+”<<<“i”< } }; void main() { Complex c1(3,5); Complex c2=4。5; c1。add(c2); c1。show(); system(“pause”); }

C++,定義一個負數類黑白無常2013.12.02 回答

首先,我們看一下這個數軸,8位二進位制表示數值型資料,它應該是落在0~256(不含 256)區間上,當這個數落在0~128(不含128)區間上時,我們說它是一個正數,至於正多少取決於這個數從0點往右走了多少。 如:+33對應的二進位制是00010001 如果這個數落在後半軸上,也就是128~256(不含256)區間上時,我們說它是一個負數,至於負多少取決於它離終點256還差多少。 如:156表示就不再是+156,而是表示-100,二進位制編碼為:10011100 稍微細心的朋友可能會發現,凡是落在後半軸的數,也就是負數,都有一個共同點,那就是這個數第1位二進位制編碼一定是1,而落在前半軸的數第1位一定是0,這樣就造成很多人誤認為1就是僅僅簡單的表示負號,而0表示正號,這是不科學的。但反過來說是可以的:負數的最高位一定是1,正數的最高位一定是0 可能有朋友會問了,156表示不是+156,那+156該怎麼表示呢,它的二進位制編碼又是多少呢? 在這裡我要強調一下,我們現在是假設只用1個位元組(也是8位二進位制)來表示帶符號的整數,那麼它能表示的數的範圍只能是-128~+127之間,156是表示不下的,明白嗎。 好的,到這裡相信各位基本瞭解了負數的表示原理了,在這裡我還想溝通一下求負數表示的另外一種方法,這就是很多書上提到的採用補碼的方法 要求一個負數的二進位制表示方式,可以先求出它的原碼,然後每位取反得出它的反碼,反碼再加1得出補碼 如:假設還是以8位二進位制來表示帶符號的整數 -56的原碼是:00111000 那麼它的反碼是:11000111 補碼為:11000111+1=11001000 得出,-56在計算機內部是用11001000這串二進位制來表示的

vae。la

Top