看板 C_and_CPP 關於我們 聯絡資訊
先謝謝大家的回覆 還有一位大大寄信過來教我用函式的方式做 非常感激!!! 目前DrStein大回文的方法最適合我的情況 不過..code看不太懂 有沒有人可以幫忙解說一下Orz =========================================================================== #define HEX__(n)(0x##n##LU) #define B8__(AA)( \ ( (AA) & 0x0000000fLU)? 0x01:0 \ + ( (AA) & 0x000000f0LU)? 0x02:0 \ + ( (AA) & 0x00000f00LU)? 0x04:0 \ + ( (AA) & 0x0000f000LU)? 0x08:0 \ + ( (AA) & 0x000f0000LU)? 0x10:0 \ + ( (AA) & 0x00f00000LU)? 0x20:0 \ + ( (AA) & 0x0f000000LU)? 0x40:0 \ + ( (AA) & 0xf0000000LU)? 0x80:0 \ ) #define BINARY8( AA ) (unsigned char)B8__( HEX__(AA) ) #define BINARY16( HH, LL) (unsigned short) ( BINARY8(LL) + (BINARY8(HH)<< 8) ) #define BINARY32( HH,LH, HL, LL) (unsigned int)( BINARY16(HL, LL) + (BINARY16(HH, LH)<< 16) ) ======================================================================= p.s.上面的code好像只有8.16.32進位?該怎麼改成二進位呢 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.255.167.64
LPH66:不是 8 16 32 進位 是 8 16 32 bit... 01/03 20:36
LPH66:話說回來感覺好像隔一陣子就會有新手來問進位問題 01/03 20:48
LPH66:前一陣子才在 java 版回了一篇文章在講這個... 01/03 20:49
LPH66:原 PO 看來要的是"直接寫出二進位" 01/03 20:49
LPH66:不過個人以為用十六進位或八進位來寫會更容易理解一點就是.. 01/03 20:50
LPH66:我自己是會像前面推文說的腦內轉換啦 01/03 20:51
loveme00835:16進位只要腦內有個表, 其實看起來會比較快 01/03 20:52
tjjh89017:如果只是要輸出2進位用 01/03 21:27
tjjh89017:!!(a & (128 >> i)) 然後用for吧? 01/03 21:29
Chikei:輸出有std::bitset::to_string 01/04 11:38
bwtalk:最後用效率不高的方式寫出來了Orz 01/04 15:07
bwtalk:謝謝大家! 01/04 15:07
james732:Bitset可以這麼用 http://ideone.com/LvPge 01/04 21:39