Re: [問題] bitwise 如何取高低位元
看板C_and_CPP (C/C++)作者pilipalabon (說好的性福呢?)時間16年前 (2009/10/26 22:30)推噓4(4推 0噓 11→)留言15則, 4人參與討論串3/3 (看更多)
其實我要做的事情是這樣的...
這是一算h264 bitstream, 我要在裡面找 0x01, 0x65
這兩個數值,但因為儲存的型態是unsigned long
32bits, 我想將它拆成兩個16bits的尋找...
那下面是我實驗所碰到的怪地方, 我會在check是否跟endian有關..
或是, 是否有建議的做法呢?
謝謝!
※ 引述《pilipalabon (說好的性福呢?)》之銘言:
: 假設今天我有一筆資料為
: ULong x = 0xe8a105f4
: UShort x1 = (UShort)x;
: UShort x2 = (x>>16);
: x1 == 0x5f4; //low
: x2 == ffffe8a1; //high
: 我在使用 UShort x2 = (x>>16) & 0x0000FFFF;
: 依然不行..
: 但我用
: printf("%x\n", x2 & 0x0000FFFF);
: 這樣x2 == e8a1
: 請問要如何才能取到高位址呢? 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.127.201.105
推
10/26 22:33, , 1F
10/26 22:33, 1F
推
10/26 22:38, , 2F
10/26 22:38, 2F
推
10/26 22:40, , 3F
10/26 22:40, 3F
→
10/26 22:40, , 4F
10/26 22:40, 4F
Sorry, 是 unsigned long ... ><
※ 編輯: pilipalabon 來自: 59.127.201.105 (10/26 22:45)
→
10/26 22:45, , 5F
10/26 22:45, 5F
→
10/26 22:46, , 6F
10/26 22:46, 6F
→
10/26 22:47, , 7F
10/26 22:47, 7F
→
10/26 22:48, , 8F
10/26 22:48, 8F
→
10/26 22:48, , 9F
10/26 22:48, 9F
推
10/26 23:00, , 10F
10/26 23:00, 10F
→
10/26 23:01, , 11F
10/26 23:01, 11F
→
10/26 23:02, , 12F
10/26 23:02, 12F
→
10/27 13:44, , 13F
10/27 13:44, 13F
→
10/27 13:45, , 14F
10/27 13:45, 14F
→
10/27 13:45, , 15F
10/27 13:45, 15F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章