int與short的賦值的坑

2021-10-01 04:16:29 字數 849 閱讀 6047

#include 

using namespace std;

void

main()

執行結果:

a=2147418113

b=1請按任意鍵繼續. . .

對於上面的賦值語句,首先了解一些規則:

一:數字多的往數字少的轉化——截斷

即只取低n位

正如上例——short 型 b 擷取 int 型 a 的低16位

相當於

b=

0x0001

;//b=1;

二:數字少的往數字多的轉化——位拓展

位拓展又分別符號拓展和零拓展

當b為帶符號數時,無論a為帶符號數還是無符號數,都是符號拓展

#include 

using namespace std;

void

main()

執行結果:

a=-1

(unsigned int)c=4294967295

b=-1

請按任意鍵繼續. . .

當b為無符號時,無論a為帶符號數還是無符號數,都是零拓展

using

namespace std;

void

main()

執行結果:

a=65535

(unsigned int)c=65535

b=65535

請按任意鍵繼續. . .

int與short之間的轉換

寫的乙個int轉short的類 前些時間做藍芽.標準的藍芽類沒法建資料流,後來就出現了只能傳送byte可是我們的程式中資料型別有很多,所以必要做轉化.這裡做了個int轉short的方法.public classtest system.out.println true public static sh...

short自動轉int的小例子

給大家分享乙個做試題時遇到的乙個很有意思的小例子 當時做題就驚了,雖然知道short在進行計算時,會自動將值轉換為int型進行計算,沒想到在作為實參時也會自己轉為int,然後呢我又將新增了一行 發現又將short輸出了,最後我又將int和short為形參的方法注釋了,我又想了是不是只有short會這...

計組實驗二(short與int的型別轉換)

首先我們知道,short型在計算機中儲存時占用了16個bit,int型占用了32個bit,題目要求的都是有符號數 因此short 0 14位是數值位,15位是符號位 int 0 30位是數值位,31位是符號位 從short到int,我們需要將short中的0 14位存入int型的0 14位,同時將符...