C_Sharp 板


LINE

※ 引述《dabiddabid (dabid')》之銘言: : 小弟要將兩個Int16數字組成Int32 : Int16 a = -30 ;//1111 1111 1110 0010 : Int16 b = -19456 ; //1011 0100 0000 0000 : 現在想把ab組合在一起成Int32(ab)//1111 1111 1110 0010 1011 0100 0000 0000 : 原本是想將兩個都先ToInt32將a << 16 然後(a | b) : 但現在發現負數Int16轉Int32會將前面全部補1 : b會變成1111 1111 1111 1111 1011 0100 0000 0000 : 但我想要的是0000 0000 0000 0000 1011 0100 0000 0000 : 也就是想要a|b結果是-1920000//11111111111000101011010000000000 : 但實際現在結果卻是-19456 //11111111111111111011010000000000 : 請問這要如何解決? 因為你沒有指定是Big Endian還是Little Endian 按照你給的範例直接使用預設的Little Endian來轉換 Int16 a = -30; var a_bits = new BitArray(BitConverter.GetBytes(a)); string a_bitsString = ""; for (int i = 0; i < a_bits.Count; i++) a_bitsString += a_bits[i] ? "1" : "0"; Console.WriteLine(a_bitsString); 輸出後結果為a = 0100 0111 1111 1111 與你文中指出的順序是顛倒的 所以你使用的應該是Big Endian 然後按照你文中的要求感覺就是將兩個數字的bytes組合起來 那程式碼應該是如下 Int16 a = -30; Int16 b = -19456; List<byte> temp = new List<byte>(); temp.AddRange(BitConverter.GetBytes(a)); temp.AddRange(BitConverter.GetBytes(b)); int c = BitConverter.ToInt32(temp.ToArray(), 0); --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.232.114.250
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1460466596.A.D43.html
1F:推 Litfal: 認真回給推,這個做法比較符合C#精神,適合不熟bitwise的 04/12 21:48
2F:→ Litfal: 但其實原問題用unsigned也能解ww 04/12 21:49
※ 編輯: m339606 (36.232.114.250), 04/12/2016 21:53:43
3F:推 Litfal: Convert.ToString(a, 2) 04/12 22:14
4F:→ Litfal: 順便一提,輸出二進位字串可以用 (這行沒推到@@) 04/12 22:15
5F:→ dabiddabid: 用BitConverter解決了,感謝大家 04/18 09:21







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:WOW站內搜尋

TOP