-1
我想了解以下兩個定義我們可以指定一個unsigned int類型varaible,0xFULL文字
unsigned long long id = 0x0FULL; //should be correct
unsigned int store = 0X0FULL; // ?? Can this be done
printf("id is : 0x%llx store is : 0x%x\n",id,store);
的兩個變量的輸出返回相同的值
id is : 0xf store is : 0xf
你的意思是15十進制吧? 另外,我得到的0xFULL是一個'ULL'文字,所以你的意思是做錯事會做點像 'unsigned int store = 0X0FULL;' – cmidi 2015-02-09 16:51:39
@cmidi我的意思是十進制15,用十六進制表示。我看到我有點混淆起來。 'unsigned int store = 0x0FULL;'有效但很奇怪。這是有效的,因爲任何兩個整型類型之間存在隱式轉換,包括從'unsigned long long'到'unsigned int'。這很奇怪,因爲如果你想要一個'unsigned int',你爲什麼要用'ULL'後綴? – hvd 2015-02-09 16:55:35
我只是想在一個開源的庫代碼中尋找一個問題,它在代碼中有類似的地方 – cmidi 2015-02-09 17:03:54