[問題] 把四個字元打包成一個unsigned int

作者: faradair (法拉空氣)   2017-06-08 23:19:12
題目是把輸入的字元轉成二進位
並將四個字元打包成unsigned int 再轉二進位
之前寫過兩個字元打包的
寫法大致是這樣
unsigned int packCharacters(char a, char b)
{
unsigned int pack;
pack=a;
pack <<8;
pack |=b;
return pack;
}
但這次問題是要四個字元包成一個
試過用同樣方法設定pack1 , pack2 ... 但是無法成功
而且寫法已經設定為
unsigned int packCharacters(char a, char b, char c, chaar d)
{
unsigned int pack;
pack= //只能修改此段程式
return pack;
}
因為進度確實跟不上班上的大家
老師臉書也不回應
同學作業都是抄來抄去沒人懂
想請問各位可以指點迷津嗎?
先謝謝大家了!!
作者: libertyleave (SSLin)   2017-06-08 23:28:00
pack= (a<<24)|(b<<16)|(c<<8)|d大概是這樣吧
作者: faradair (法拉空氣)   2017-06-08 23:39:00
謝謝樓上!!!!!! 感激不盡 QAQ!!!!!!!!!!
作者: chuegou (chuegou)   2017-06-08 23:43:00
作法1 union作法2 uint8陣列用uint32指標去取作法3 位元運算一個一個移 同樓上另外就是...這篇我想算是作業文XD
作者: boss0405 (boss)   2017-06-08 23:47:00
union +1
作者: faradair (法拉空氣)   2017-06-08 23:48:00
> < 不好意思 因為這個題目其實很長一串 可是唯獨這段還想不出解QAQ有先看過板規不能只是要答案 所以也先講出自己以為的解不知道這樣是否還有違規 ~ 不好意思了 各位!
作者: libertyleave (SSLin)   2017-06-09 00:02:00
因為他註解說只能改一段 所以就直接位元移了
作者: pttworld (批踢踢世界)   2017-06-09 11:34:00
從8發想。
作者: a27417332 (等號卡比)   2017-06-09 14:04:00
板規禁止的是伸手文,不是作業文吧?
作者: pttuser (pttuser)   2017-06-17 23:58:00
作業

Links booklink

Contact Us: admin [ a t ] ucptt.com