C++、MATLAB 兩個數值相除,取結果的餘數、整除數部分 MATLAB兩整數相除結果為整型、浮點型__C++

來源:互聯網
上載者:User
</pre><p></p><pre code_snippet_id="1932623" snippet_file_name="blog_20161019_2_405111" name="code" class="cpp"> int bb = 10;  int cc = aa% bb;  int dd = aa / bb ;  cout << cc << endl << dd <<endl;  cout << "cnt: " << cnt << endl;


輸出結果:

3

23


%: 取餘數 

/ : 相除取整除數部分


(與MATLAB代碼的區別)


  double aa = 24.4;  double bb = 3.2;  double cc = aa/bb;  cout << "aa  bb cc: " << aa <<"  "<< bb <<"  "<< cc <<endl;  double a = 24.4;  int b = 3;  double c = a / b;  cout << "a  b c: " << a << "  " << b << "  " << c << endl;





MATLAB:


%計算出RGB三通道的增益% 

Rgain = Ymax / Rav
 Ggain = Ymax / Gav
 Bgain = Ymax / Bav


Ymax =  235

Rav =  133.4989

Gav =  123.8576
Bav =  149.9403

奇了怪了, 需要用增益係數,卻輸出結果為整數 2 

在命令列進行  命令計算 明明可以輸出浮點 結果


/   rdivide   matlab 協助文檔解釋:

Integer Division

Divide an int16 scalar value by each element of an int16 vector.

a = int16(10);b = int16([3 4 6]);x = a./b
x =      3      3      2

MATLAB® rounds the results when dividing integer data types. 對於整數,對結果進行四捨五入處理 解決方案:

% 兩整數相除,將分母轉換為double類型 ,則輸出結果為 double型, 

sumR = sum(sum(R))
Rav = double(sumR)/cnddt  

輸出結果:
Rav =   133.4989







相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.