MySQL中int(1)和int(11)有什么區(qū)別
mysql字段定義中
INT(x)中的x僅僅指的是顯示寬度。
一、介紹
MySQL字段定義中
INT(x)中的x僅僅指的是顯示寬度。如果設(shè)置了ZEROFILL擴(kuò)展屬性,默認(rèn)就有了無符號(hào)屬性UNSIGNED
顯示寬度小于指定的列寬度的值時(shí)從左側(cè)用數(shù)值0填滿寬度(指定
ZEROFILL時(shí))顯示寬度并不限制可以在列內(nèi)保存的值的范圍
顯示寬度不限制超過列的指定寬度的值的顯示
所以
INT(x)的定義與存儲(chǔ)空間沒有任何關(guān)系,都是4個(gè)字節(jié)。
INT(x)的最大值和最小值與UNSIGNED有關(guān)
有符號(hào)型范圍?-2147483648 ~ 2147483647,即-2^31 ~ 2^31 - 1
無符號(hào)型范圍?0 ~ 4294967295,即2^32 - 1
int類型在內(nèi)存中占4個(gè)字節(jié),也就是用32位二進(jìn)制表示,其中最高位為符號(hào)位,0表示正,1表示負(fù)。
int類型正數(shù)上限二進(jìn)制表示為0111 1111 1111 1111即(2^32)-1,表示0的符號(hào)位是0(即最高位是0):0000 0000 0000 0000
由于0已經(jīng)被正數(shù)這一邊表示了,所以負(fù)數(shù)的1000 0000 0000 0000就可以用來表示-2^32
評(píng)論
圖片
表情
