鑑於這一領域:將一個char鑄造成一個未簽名的短:在幕後發生了什麼?
char lookup_ext[8192] = {0}; // Gets filled later
而且這樣的說法:
unsigned short *slt = (unsigned short*) lookup_ext;
幕後會發生什麼? lookup_ext返回67 = 0100 0011(C),lookup_ext [1670]返回78 = 0100 1110(N)並且lookup_ext返回68 = 0100 0100(D);返回7800。但是slt [1670]返回18273 = 0100 0111 0110 0001.
我試圖將此端口移植到C#中,所以除了一個簡單的方法外,我還想知道這裏真正發生了什麼。自從我定期使用C++以來,已經有段時間了。
謝謝!
在32位機器上的無符號短16位,而字符是8位 – Calyth 2009-01-08 19:45:11
通常,但它們不一定是。例如,字符和無符號短褲都可以是32位。 – 2009-01-10 18:02:13