開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
我想看用float宣告存的數值 每一個byte的數值是多少
例如 float a=1.1;
1.1會存進4byte的記憶體空間 把每一個byte存的數字用16進位印出來看
int main()
{
float test;
test =1.1;
char *a;
//a=&test;
a=(char*)&test
printf("test = %\x\n",a[0]);
printf("test = %\x\n",a[1]);
printf("test = %\x\n",a[2]);
printf("test = %\x\n",a[3]);
return 0;
}
但是會出錯 因為他找不到16進位的數字 應該要如何改?!
另外想問一下 為什麼a=(char*)&test 這裡需要強制宣告
一開始沒強制宣告結果錯了= =
我只是抓test的記憶體位址存到a裡 應該不用考慮數值的問題?!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.115.152.134
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1426067874.A.6FE.html
→
03/11 18:19, , 1F
03/11 18:19, 1F
→
03/11 18:55, , 2F
03/11 18:55, 2F
→
03/11 21:38, , 3F
03/11 21:38, 3F
→
03/11 21:38, , 4F
03/11 21:38, 4F
→
03/11 22:24, , 5F
03/11 22:24, 5F
→
03/12 08:53, , 6F
03/12 08:53, 6F