第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

int難道不是占4個(gè)字節(jié)么?

然后那個(gè)取值范圍是怎么計(jì)算的呢?

正在回答

7 回答

恩,現(xiàn)在流行的編譯器,都是規(guī)定的int是四個(gè)字節(jié)~像tc這樣老版的編譯器,int才是兩個(gè)字節(jié),然后也是一樣,由于一個(gè)字節(jié)占八位,最高為符號(hào)位,又人為規(guī)定,1000000000000000......這個(gè)補(bǔ)碼編碼為-2^31所以,范圍就是-2^31~2^31-1

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小池的呆妞 提問(wèn)者

非常感謝!康薩拉米大~
2015-01-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

小池的呆妞 提問(wèn)者

問(wèn)問(wèn)浮點(diǎn)型數(shù)據(jù)的取值范圍又是怎么回事呢
2015-01-18 回復(fù) 有任何疑惑可以回復(fù)我~
#3

Fiona0126 回復(fù) 小池的呆妞 提問(wèn)者

額。。由于浮點(diǎn)型的存儲(chǔ)方式不一樣,所以算起來(lái)有點(diǎn)復(fù)雜~它是參照IEEE754標(biāo)準(zhǔn)的,分為三個(gè)部分存儲(chǔ),一個(gè)是符號(hào)位部分,一個(gè)是階碼部分,一個(gè)尾數(shù)部分,拿float舉例,它三部分的占得位數(shù)分別是1 8 23,所以我就大概說(shuō)一下取值是怎么算的,具體你百度查吧,比較長(zhǎng)~float的取值就是-2^(2^7-1)*2~2~~~2^(2^7-1)*2
2015-01-18 回復(fù) 有任何疑惑可以回復(fù)我~
#4

火Rain

——這里關(guān)于int(4字節(jié))的取值范圍由來(lái)(-2^31~2^31-1)我補(bǔ)充一下: 1.一個(gè)4字節(jié)占8位,所以總共是32位,然后去掉第一位,也即符號(hào)位(1:負(fù),0:正),也就剩下31位! 2.所以最小值為:-2^31,最大值為2^31,然后去掉0(0000....0000)也即2^31-1! 3.所以最后得出的范圍是:-2^31~2^31-1?。ㄕ龜?shù)的范圍不包括0) (注:是這樣么,求批評(píng)指正?。?/div>
2015-02-28 回復(fù) 有任何疑惑可以回復(fù)我~
#5

Fiona0126 回復(fù) 火Rain

不是因?yàn)槿サ?.。而是它本身的最大值就是2^31-1。而不是你說(shuō)的2^31。 我們不考慮那么多位,假設(shè)只有三位,其中首位為符號(hào)位的話,最大值的情況不就是011嗎?32位的時(shí)候同理啊, 01111111 11111111 11111111 11111111 //而這個(gè)數(shù)表示的值就是2^31-1.
2015-02-28 回復(fù) 有任何疑惑可以回復(fù)我~
#6

火Rain 回復(fù) Fiona0126

為什么2^(2^((8-1)-1))*2 我用計(jì)算器得到的答案是:3.689349e19? 是這樣計(jì)算其取值范圍的嗎?
2015-03-03 回復(fù) 有任何疑惑可以回復(fù)我~
#7

火Rain 回復(fù) Fiona0126

最大值是(2^31)-1 問(wèn)題來(lái)了,好像是這樣啊 那為什么最小值 卻是-2^31?不減一?
2015-03-03 回復(fù) 有任何疑惑可以回復(fù)我~
#8

火Rain 回復(fù) Fiona0126

是不是因?yàn)檫@個(gè)二進(jìn)制補(bǔ)碼:二進(jìn)制補(bǔ)碼在計(jì)算機(jī)中比較常用,當(dāng)表示負(fù)數(shù)的時(shí)候,在原來(lái)原碼的基礎(chǔ)上再加1
2015-03-03 回復(fù) 有任何疑惑可以回復(fù)我~
#9

Fiona0126 回復(fù) 火Rain

第一個(gè)問(wèn)題,(2^(2^(8-1)-1))*2化簡(jiǎn)之后其實(shí)就是(2^(2^7)) 第二個(gè)問(wèn)題,因?yàn)閿?shù)據(jù)是由二進(jìn)制補(bǔ)碼存儲(chǔ)的。而正數(shù)的補(bǔ)碼跟原碼相同。而負(fù)數(shù)則是原碼取反+1。。 但是有個(gè)100000000{省略若干0}的存在。這個(gè)數(shù)字在原碼中表示的是-0,而00000000{。。。}在原碼中表示的是0 但是由于是補(bǔ)碼存儲(chǔ)的關(guān)系。將1000000{。。}取反+1.。又變成了0000000{。。。}。既然這樣。。就人為規(guī)定了10000{。。。}這個(gè)編碼為-2^31
2015-03-03 回復(fù) 有任何疑惑可以回復(fù)我~
#10

火Rain 回復(fù) Fiona0126

感謝!
2015-03-04 回復(fù) 有任何疑惑可以回復(fù)我~
#11

火Rain 回復(fù) Fiona0126

取反加1 是在最末尾加1,比如 原碼10011,反碼為11100,補(bǔ)碼為11101! 我對(duì)第二個(gè)問(wèn)題的答案并不認(rèn)同!請(qǐng)大大指教下我所作的關(guān)于int范圍的總結(jié),在回答當(dāng)中!
2015-03-05 回復(fù) 有任何疑惑可以回復(fù)我~
查看8條回復(fù)

——關(guān)于int(4字節(jié))的取值范圍由來(lái)(-2^31~2^31-1)?
1.【32位】一個(gè)字節(jié)占8位,所以4字節(jié)總共是占32位,然后去掉第一位,也即符號(hào)位(1:負(fù),0:正),也就剩下31位!

2.【最大值:2^31-1】為什么不是2^31?

(1)假設(shè)只有三位,其中首位為符號(hào)位的話,最大值的情況不就是011嗎?也即表示3.
3 = 2^(3-1)-1.

(2)32位的時(shí)候同理,01111111 11111111 11111111 11111111 //而這個(gè)數(shù)表示的值就是2^31-1.
2^31-1 = 2^(32-1)-1.

3.【最小值:-2^31】為什么不是-(2^31-1)?

(1)因?yàn)閿?shù)據(jù)是由二進(jìn)制補(bǔ)碼存儲(chǔ)的:
1)當(dāng)原碼為正數(shù)的時(shí)候,正數(shù)的原碼反碼補(bǔ)碼都相同,即00011的反碼也為00011,補(bǔ)碼也為00011.
2)當(dāng)原碼為負(fù)數(shù)的時(shí)候,反碼即按位取反,比如10011為原碼,10011可表示-3,那么符號(hào)位不變,其余位按位取反即反碼11100.那么10011的補(bǔ)碼便是11101.

(2)所以可知int所取的最小值原碼為:11111111 11111111 11111111 11111111.
它的反碼為:10000000 00000000 00000000 00000000. (在原碼中表示-0.)
它的補(bǔ)碼為:10000000 00000000 00000000 00000001. (在原碼中表示-1.)
依次可以類推-2,-3,-4......-2^31!
【推到-2^31】
其原碼為10000000 00000000 00000000 00000001?
其反碼為11111111 11111111 11111111 11111110
其補(bǔ)碼為11111111 11111111 11111111 11111111
從上可知最小值只能表示到-2^31,而無(wú)法表示到更小的一位:-2^31-1!


4.【綜上所訴,int(4字節(jié))范圍是:-2^31~2^31-1】!

(自己對(duì)于這個(gè)問(wèn)題也糾結(jié)了很久,得出的結(jié)論若有不足之處,敬請(qǐng)批評(píng)指正,謝謝?。?/p>

0 回復(fù) 有任何疑惑可以回復(fù)我~


計(jì)算機(jī)是按二進(jìn)制方式存儲(chǔ)數(shù)據(jù)的,在計(jì)算機(jī)中表示整型數(shù)據(jù)有以下幾種方法: ? ? ? ?

1.二進(jìn)制補(bǔ)碼:二進(jìn)制補(bǔ)碼在計(jì)算機(jī)中比較常用,當(dāng)表示負(fù)數(shù)的時(shí)候,在原來(lái)原碼的基礎(chǔ)上再加1

2.二進(jìn)制反碼:二進(jìn)制反碼是簡(jiǎn)單地把正數(shù)取反就是對(duì)應(yīng)的負(fù)數(shù)了,比如00000001為1,11111110為-1 ? ? ?

3.偏移表示法:?偏移表示法用一個(gè)數(shù)與它相減就得到所需的數(shù) ? ? ? ? ?

4.帶符號(hào)的數(shù)表示法:最高有效位是符號(hào)位,1為負(fù),0為正。比如:00000001為1,10000001為-1


注:正數(shù)的原碼反碼補(bǔ)碼都相同,即0011的反碼也為0011 ?

舉例來(lái)說(shuō):對(duì)于正數(shù)3,其二進(jìn)制形式為 0011,我們把 0011稱為真值,在計(jì)算機(jī)中用0或1表示正負(fù)號(hào),那么 0011在計(jì)算機(jī)中原碼可以表示為00011(第一位為符號(hào)位)。反碼補(bǔ)碼不變。

對(duì)于負(fù)數(shù),反碼即按位取反,比如10011可表示-3,10011為原碼,那么符號(hào)位不變,其余位按位取反即反碼11100. ?補(bǔ)碼的存在是為了簡(jiǎn)化計(jì)算的,其符號(hào)位一起參加運(yùn)算,從而對(duì)于減法可轉(zhuǎn)化為加法。補(bǔ)碼的實(shí)質(zhì)就是mod2。比如我們的鐘表是mod12的,那么14點(diǎn)鐘我們也可以說(shuō)是下午2點(diǎn)。獲得補(bǔ)碼的方法是“按位取反,末位加1”那么10011的補(bǔ)碼便是11101.。。。。。。。。。。 ?

機(jī)器數(shù)即數(shù)值在計(jì)算機(jī)中的表示形式。 ?

(注:以上是本人查找整理的有關(guān)原碼、反碼和補(bǔ)碼的知識(shí),惡補(bǔ)一下自己的儲(chǔ)量!若有不足之處,請(qǐng)大大們批評(píng)指正,感謝?。?/p>

1 回復(fù) 有任何疑惑可以回復(fù)我~

這個(gè)問(wèn)題,很贊的說(shuō),路過(guò)學(xué)習(xí)!

0 回復(fù) 有任何疑惑可以回復(fù)我~

不是,占2個(gè)字節(jié)


0 回復(fù) 有任何疑惑可以回復(fù)我~

學(xué)習(xí)了?

0 回復(fù) 有任何疑惑可以回復(fù)我~

2個(gè)字節(jié) 1字節(jié) = 8bit so。。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

小池的呆妞 提問(wèn)者

char 1個(gè)字節(jié)float 4個(gè)字節(jié)double 8個(gè)字節(jié)int分為long int和short int,其中l(wèi)ong int是4個(gè)字節(jié),short int是2個(gè)字節(jié)在vc編譯器中int默認(rèn)是long int,因此int在vc6.0里面是4個(gè)字節(jié) 我記得我們老師是這樣講的,腫么回事?
2015-01-18 回復(fù) 有任何疑惑可以回復(fù)我~
#2

dire 回復(fù) 小池的呆妞 提問(wèn)者

這個(gè)不是統(tǒng)一規(guī)定的 是根據(jù)個(gè)人的編譯器 CPU來(lái)規(guī)定的 你可以寫代碼在你的編譯器里面判斷 你的各個(gè)數(shù)據(jù)類型所占的字節(jié) 這個(gè)可以百度一下 c語(yǔ)言中的 sizeof()函數(shù)
2015-05-22 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
C語(yǔ)言入門
  • 參與學(xué)習(xí)       926977    人
  • 解答問(wèn)題       21533    個(gè)

C語(yǔ)言入門視頻教程,帶你進(jìn)入編程世界的必修課-C語(yǔ)言

進(jìn)入課程

int難道不是占4個(gè)字節(jié)么?

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)