int可以存幾位數(shù) 在C中,整型long的位數(shù)至多是多少位?64位Win7系統(tǒng)?
在C中,整型long的位數(shù)至多是多少位?64位Win7系統(tǒng)?在64位系統(tǒng)中,int仍然占用4字節(jié)和32位,而long擴(kuò)展到8字節(jié)和64位。它們之間的區(qū)別包括:1。所占用的空間不同,前面已經(jīng)提到過;2。
在C中,整型long的位數(shù)至多是多少位?64位Win7系統(tǒng)?
在64位系統(tǒng)中,int仍然占用4字節(jié)和32位,而long擴(kuò)展到8字節(jié)和64位。它們之間的區(qū)別包括:1。所占用的空間不同,前面已經(jīng)提到過;2。表達(dá)式范圍不同:由于占用的空間不同,long可以表示更大的范圍,具體來說int的范圍是-2147483648~2147483647;long的范圍是-9223372036854775808~9223372036854775807;3。輸入和輸出中使用的格式字符不同。Int使用%D,long使用%LD。
面對一工科男來應(yīng)聘算法工程師,卻不知道int是幾個(gè)字節(jié),一個(gè)字節(jié)有幾位,這是一種怎樣的體驗(yàn)?
目前算法工程師的分工比較詳細(xì),而且很多算法工程師不做算法實(shí)現(xiàn),所以在使用編程語言時(shí)可能會出現(xiàn)不熟悉的情況。但是現(xiàn)在很多程序員對基礎(chǔ)知識的掌握不如以前那么扎實(shí),這是一個(gè)明顯的現(xiàn)象。
作為面試官,我經(jīng)常參加一些企業(yè)的程序員面試。在面試中,我通常會問一些基本的問題來了解程序員的基本知識結(jié)構(gòu)。例如,我問了一個(gè)問題,int是幾個(gè)字節(jié),大多數(shù)程序員都能回答這個(gè)問題。類似的問題包括計(jì)算機(jī)端口號的范圍、網(wǎng)絡(luò)尋址方式、TCP協(xié)議與UDP協(xié)議的區(qū)別、接口的作用、異或操作的規(guī)則等。一般來說,這些問題通常是由初級程序員提出的,而對于高級程序員,他們通常會被問到一些具體的解決方案。
一些簡單的基本問題的答案可以反映程序員的基本知識結(jié)構(gòu)。根據(jù)歷史經(jīng)驗(yàn),一些非計(jì)算機(jī)專業(yè)的程序員可能很難回答這些問題,因?yàn)槟壳昂芏嗑幊陶Z言都比較簡單,在很多實(shí)驗(yàn)中都無法實(shí)踐這些基礎(chǔ)知識,但是這些基礎(chǔ)知識還不夠,知識對程序員來說更重要。
在許多情況下,即使你不回答一些基本問題,也不要泄氣。畢竟,目前的發(fā)展環(huán)境與早些年大不相同。程序設(shè)計(jì)更加注重模塊化、可擴(kuò)展性等問題。但是程序員必須掌握基本知識,特別是一些常識性問題。
我已經(jīng)使用Java、C和python很長時(shí)間了,我還在頭條上繼續(xù)寫一些關(guān)于編程和大數(shù)據(jù)的文章。對這些內(nèi)容感興趣的人可以關(guān)注我,我相信他們會有所收獲。
謝謝
int在64位操作系統(tǒng)中占多少位?
它與操作系統(tǒng)無關(guān),它與編譯器有關(guān)
在32位編譯器中
無符號int=int=32bit short int=16bit
在64位編譯器中
無符號int=int=32bit short int=32bit//兩者都是32位,在64位編譯器中有一個(gè)是64位
~在編譯器中,int定義的字節(jié)數(shù)是不同的。(數(shù)據(jù)內(nèi)存大小不同)常用的MCU編譯器,如KEIL,在51種MCU的C語言中,int代表2字節(jié)(16位);如果是32位ram處理器的C語言,int代表PIC MCU的PICC中的4字節(jié)(32位),在8位系列MCU的C語言中,int代表16位。許多PC軟件編譯器根據(jù)操作系統(tǒng)或處理器(如64位XP)將int定義為8字節(jié)(64位),因此在多個(gè)平臺上的程序員需要注意它。要定義16位數(shù)字,請使用short(short,short integer type)。