欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c語言中int取值范圍為16位指的是什么16位

林雅南2年前13瀏覽0評論

c語言中int取值范圍為16位指的是什么16位?

1.c語言中int取值范圍為16位指的是什么16位 計算機用二進制表示數(shù)值,最小單位就是位(bit),可以儲存0或1,16位就是有16個儲存0或1的位,其中左邊第一位是符號位,0代表+ 、1代表-。

2.當中16位與-32768~+32767又有什么關(guān)系? 這里的-32768~+32767是指用16位來儲存一個int值的取值范圍。int是integer(整數(shù))的縮寫,int類型的值必須是整數(shù),可以是正整數(shù),負整數(shù)或0。3.是不是16位指的就是32767用二進制表示時有16位數(shù)字 不是,16位表示32767是0111 1111 1111 1111,而0000 0000 0000 0000 0111 1111 1111 1111也表示32767,它有32位。擴展:關(guān)于為什么16位int值的取值范圍是-32768~+32767。二進制轉(zhuǎn)化為十進制,從右往左數(shù),第一位代表2的0次方,第二位是2的1次方,以此類推,用每一位上的數(shù)乘以對應位的值再相加即可得到對應的數(shù)值。比如1011就等于1*(2^0)+1*(2^1)+0*(2^2)+1*(2^3)=1+2+0+8=11。那么計算機表示的16位正數(shù)范圍就是從0000 0000 0000 0001到0111 1111 1111 1111。(注意:計算機表示時最左邊是符號位。) 也就是正的1*(2^0)到1*(2^0)+1*(2^1)+1*(2^2)+……+1*(2^14)=(2^15)-1 也就是+1~+32767。負數(shù)范圍要了解計算機內(nèi)部表示負數(shù)的方法,“2的補碼”,具體方法分兩步: 第一步,每一個二進制位都取相反值,0變成1,1變成0。第二步,將上一步得到的值加1。比如要表示16位的-1,就把+1也就是0000 0000 0000 0001取反變?yōu)?111 1111 1111 1110,再+1,也就是1111 1111 1111 1111表示-1。那么要知道計算機表示的一個負數(shù)的絕對值就要把這個負數(shù)按照上面所說的“2的補碼”規(guī)則反處理。所以16位能表示的最小負數(shù),也就是符號位為1,其余全部為0,即1000 0000 0000 0000。(這里比較難理解為什么確定符號為1,后面要全部取0,主要是為了經(jīng)過反處理后得到一個盡量大的數(shù)值,也就是最左邊位置2^15位上的值為1,這樣才能得到最小的負數(shù)。) 第一步,1000 0000 0000 0000(處理時,這是一個二進制數(shù)值,1不再是符號) 減去1得到 0111 1111 1111 1111。第二步,取反,變?yōu)?000 0000 0000 0000,即1*2^15。綜上,16位int取值范圍是1000 0000 0000 0000到0111 1111 1111 1111即-2^15~(2^15)-1,-32768~+32767。

java int的位數(shù),c語言中int取值范圍為16位指的是什么16位