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

在C語言中為什么要把int分為有符號和無符號啊

林子帆2年前25瀏覽0評論

在C語言中為什么要把int分為有符號和無符號啊?

我才是正解。你們不要誤人子弟了。在數(shù)學(xué)中,我們把數(shù)分為正數(shù),0和負(fù)數(shù)。在c語言中,變量自然要區(qū)存儲的是正數(shù)還是負(fù)數(shù)。

在譚浩強(qiáng)主編的c語言中,int是16位的,當(dāng)今的計算機(jī)編程語言中,int類型,在win32系統(tǒng)中,int他是32位的,不要被課本迷惑,就是用32個0或1表示一個數(shù)字,他的計數(shù)能力就這么大,再大了就歸零,如何區(qū)分正數(shù)和負(fù)數(shù)呢,就規(guī)定最高位(從右往左數(shù)的第32位)0時是代表正數(shù),1代表負(fù)數(shù)。可見,第32位不在參與計數(shù),而變成了符號位。最大值就是0后面跟31個1,也就是2147483647.最小值就是32個1也就是負(fù)的2147483648。

int取值范圍為-2147483648至2147483647

如果是無符號int,那么第32位就參與計數(shù),不在代表正負(fù)數(shù),當(dāng)然就就無法表示一個負(fù)數(shù)。只有正數(shù)。最大值就是32個1,就是4294967295

unsinged int的取值范圍0至4294967295

可見,你說的取值范圍一樣,是錯的。

負(fù)數(shù)的表示方法:最高位執(zhí)1,后面的全部取反在加1

例如char為8位。3是00000011,

-3計算:最高為1,剩下7位0000011取反為1111100,再加1.最后結(jié)果為:1111101,合起來就是11111101

java補(bǔ)零,在C語言中為什么要把int分為有符號和無符號啊