好奇怪的問題~


我們知道,在C、C++中進行不同類型的的數據運算時,編譯器首先要進行隱式轉換。比如(請看下圖):

int b=-1;
unsigned int c=b;

 執行結果:

我的問題就在這里,

1.一個負數轉換為無符號整數(-1——>3435973836),怎么會變得這么大???底層是如何進行轉換的呢?

2.另外:65536*65536為什么就是沒有結果?一開始以為是位數太多計算機處理不了,但是我又在之前的基礎上加了2位數,居然可以!(請看下圖,注釋部分為lz在測試long long的精度,可以達到20位!)你tm在逗我?

lz計算機基礎不太好,還請各位大神賜教!不勝感激!~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM