獲取mips32機器的各資料型別的取值範圍

2022-06-14 22:48:09 字數 760 閱讀 4343

一.背景:

使用的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

MIPS彙編 MIPS32中通用暫存器的使用約定

這段時間一直在學習mips32彙編。mips32並沒有強制指定通用暫存器的使用規則 除了0號暫存器始終為0,比較特殊 但是在實際使用中大家都會遵循一系列的約定。這裡以 的方式予以展示,當作是做個筆記,方便自己以後回看。名稱暫存器號 用途呼叫時是否儲存 zero 0常數0 不適用 v0 v1 2 3計...

各資料庫,怎麼獲取SQL結果集的前n條資料?

一 在sql server資料庫中使用top關鍵字 1 獲取第1條記錄 select top 1 colume name from table name colume name 欄位名 取所有欄位用 table name 表名 2 獲取前n條記錄 select top n from table na...

32位系統和64位系統各資料型別對應的位元組數

一 64位系統和32位有什麼區別?1 64bit cpu擁有更大的定址能力,最大支援到2 64記憶體,而32bit只支援4g記憶體 當然2 64只是理論值,實際中不可能用到這麼大的記憶體,目前64位windows系統最大只支援128g,而當前主流主機板只能加到16g。2 64位cpu一次可提取64位...