獲取mips32機器的各數據類型的取值範圍
阿新 • • 發佈:2017-10-19
2個 ffffff 使用 數據類型 無符號 取值 oid 數據 格式化
一.背景:
使用的mips 32bit機器,32bit的vxworks操作系統(各機器帶來的範圍都不一樣,與操作系統也有關聯)
二.驗證類型的範圍:
2.1 unsigned long:
void main(void)
{
unsigned long ul = 0xffffffffffffffff; /*16個f,一個f占據4個bit,那個4 * 16就是64個bit*/
printf("ul = %lu\n",ul); /*這裏的格式化輸出必須按照ul的類型*/
}
筆者的機器打印結果如下:
ul = 4294967295
此結果就說明unsigned long在筆者的mips32bit機器上占據的bit數是32個,多余的bit被丟掉,所以結果就是4294967295,所以筆者的mips32機器上無符號長整型的範圍是0-4294967295
2.2 unsigned long long:
void main(void)
{
unsigned long long ull = 0xffffffffffffffff; /*16個f,一個f占據4個bit,那個4 * 16就是64個bit*/
printf("ull = %llu\n",ull); /*這裏的格式化輸出必須按照ull的類型*/
}
筆者的機器打印結果如下:
ull = 18446744073709551615
此結果說明筆者的mips32機器上無符號長長整型的範圍是0-18446744073709551615
獲取mips32機器的各數據類型的取值範圍