藍森林首頁 | 返回主頁 | 本站地圖 | 站內搜索 | 聯繫信箱 |
 您目前的位置:首頁 > 自由軟件 > 技術交流 > 應用編程


    

藍森林 http://www.lslnet.com 2006年6月6日 10:18


如何把字符數組轉成unsigned int型的數

:roll:
        各位高手我想問一下如果把一個字符數組(長度為8字節)拼成一個unsigned  int 型的數。

如何把字符數組轉成unsigned int型的數

使用類型轉換的方法

char a[8];

*( (long&)a ) =99L;

如何把字符數組轉成unsigned int型的數

請詳細解釋一下這條賦值語句*( (long&)a ) =99L;的含義好嗎?
謝謝。

如何把字符數組轉成unsigned int型的數

(long &) a 把a 看成是long型地址
*( (long&)a )   把long型地址轉換成long型指針

如何把字符數組轉成unsigned int型的數

那99L是什麼意思呢?

如何把字符數組轉成unsigned int型的數

把99 看成long型

如何把字符數組轉成unsigned int型的數

上鋪的弟兄啊,long不是四個字節的嗎?
難道C裡還有超過四個字節的數據類型嗎?
long 和int 長度不是一樣的嗎?哪裡有8個字節的unsigned int的數啊?

如何把字符數組轉成unsigned int型的數

double has 8 bytes

如何把字符數組轉成unsigned int型的數

-->
*((long &)a) 是錯誤的寫法。

如何把字符數組轉成unsigned int型的數

一、可以做強制類型轉換;
二、用聯合;
三、其他同志介紹......

如何把字符數組轉成unsigned int型的數

flw 兄指的對
寫法應該是
        *((long*) a)=99;

另外回xingli_nari  問題
一個long 在32 位機中是4 位

轉換時也只是轉換前4位
後面有沒有內容
定義成4也可以



Copyright © 1999-2000 LSLNET.COM. All rights reserved. 藍森林網站 版權所有。 E-mail : webmaster@lslnet.com