1. 程式人生 > >獲取mips32機器的各數據類型的取值範圍

獲取mips32機器的各數據類型的取值範圍

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機器的各數據類型的取值範圍