日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int

發布時間:2023/11/27 生活经验 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:

http://blog.163.com/zheng_he_xiang/blog/static/186505326201110272018548/

在Linux操作系統下使用GCC進行編程,目前一般的處理器為32位字寬,下面是/usr/include/limit.h文件對Linux下數據類型的限制及存儲字節大小的說明。   /* We don't have #include_next.?? Define ANSI for standard 32-bit words.? */ ??? /* These assume 8-bit 'char's, 16-bit 'short int's,?? and 32-bit 'int's and 'long int's.? */ ??? 1.char數據類型 ??? char類型數據所占內存空間為8位。其中有符號字符型變量取值范圍為?128~127,無符號型字符變量取值范圍為0~255.其限制如下: ??? /* Number of bits in a 'char'. */ ??? #? define CHAR_BIT 8????????? //所占字節數 ??? /* Minimum and maximum values a 'signed char' can hold.? */? //有符號字符型范圍 ??? #? define SCHAR_MIN (-128)   #? define SCHAR_MAX 127 ??? /* Maximum value an 'unsigned char' can hold.? (Minimum is 0.)? */ //無符號字符型范圍 ??? #? define UCHAR_MAX 255 ??? /* Minimum and maximum values a 'char' can hold.? */ ??? #? ifdef __CHAR_UNSIGNED__ ??? #?? define CHAR_MIN 0 ??? #?? define CHAR_MAX UCHAR_MAX ??? #? else ??? #?? define CHAR_MIN SCHAR_MIN ??? #?? define CHAR_MAX SCHAR_MAX ??? #? endif ??? 2.short int數據類型 ??? short int類型數據所占內存空間為16位。其中有符號短整型變量取值范圍為?32768~32767,無符號短整型變量取值范圍為0~65535.其限制如下: ??? /* Minimum and maximum values a 'signed short int' can hold.? */ // 有符號短整型范圍 ??? #? define SHRT_MIN (-32768)   #? define SHRT_MAX 32767 ??? /* Maximum value an 'unsigned short int' can hold.? (Minimum is 0.)? */ ??? // 無符號短整型范圍 ??? #? define USHRT_MAX 65535 ??? 3.int數據類型int類型數據所占內存空間為32位。其中有符號整型變量取值范圍為-2147483648~2147483647,無符號型整型變量取值范圍為0~4294967295U.其限制如下: ??? /* Minimum and maximum values a 'signed int' can hold.? */? //整形范圍 ??? #? define INT_MIN (-INT_MAX - 1)  #? define INT_MAX 2147483647 ??? /* Maximum value an 'unsigned int' can hold.? (Minimum is 0.)? */ ??? //無符號整形范圍#? define UINT_MAX 4294967295U ??? 4.long int數據類型 ??? 隨著宏__WORDSIZE值的改變,long int數據類型的大小也會發生改變。如果__WORDSIZE的值為32,則long int和int類型一樣,占有32位。在Linux GCC4.0-i386版本中,默認情況下__WORDSIZE的值為32.其定義如下: ??? //come from /usr/include/bits/wordsize.h ??? #define __WORDSIZE 32 ??? 在64位機器上,如果__WORDSIZE的值為64, long int類型數據所占內存空間為64位。其中有長整型變量取值范圍為-9223372036854775808L~9223372036854775807L,無符號長整型變量取值范圍為0~18446744073709551615UL.其限制如下: ??? /* Minimum and maximum values a 'signed long int' can hold.? */ //有符號長整形范圍 ??? #? if __WORDSIZE == 64 ??? #?? define LONG_MAX 9223372036854775807L ??? #? else ??? #?? define LONG_MAX 2147483647L ??? #? endif ??? #? define LONG_MIN (-LONG_MAX - 1L)     /* Maximum value an 'unsigned long int' can hold.? (Minimum is 0.)? *///無符號長整形范圍 ??? #? if __WORDSIZE == 64 ??? #?? define ULONG_MAX 18446744073709551615UL ??? #? else ??? #?? define ULONG_MAX 4294967295UL ??? #? endif ??? 5.long long int數據類型 ??? 在C99中,還定義了long long int數據類型。其數據類型限制如下: ??? #? ifdef __USE_ISOC99 ??? /* Minimum and maximum values a 'signed long long int' can hold.? *///無符號長長整形范圍 ??? #?? define LLONG_MAX 9223372036854775807LL ??? #?? define LLONG_MIN (-LLONG_MAX - 1LL)   /* Maximum value an 'unsigned long long int' can hold.? (Minimum is 0.)? *///有符號長長整形范圍 ??? #?? define ULLONG_MAX 18446744073709551615ULL ??? #? endif /* ISO C99 */

總結

以上是生活随笔為你收集整理的linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。