Re: [問題] 把8個 0/1 存成一個byte

看板C_and_CPP (C/C++)作者 (十三)時間16年前 (2009/04/01 09:22), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
因為不會將array印出來, 結尾就不加'\0' 兩個互轉的程式讓您對照參考, 您要的程式在第二個. #include <stdio.h> int main(void) { /*1 2 4 8 16 32 64 128 */ char array[8] = {'1', '0', '0', '1', '1', '1', '0', '0'}; char array2[1]; int byte_value = 0; int byte_value2[8] = {1, 0, 0, 1, 1, 1, 0, 0}; int i = 0; byte_value = 0; for(i = 0; i < 8; ++i) { if(array[i] - '0') { byte_value += (array[i] - '0') << i; } } printf("%d\n", byte_value); array2[0] = (char)0; for(i = 0; i < 8; ++i) { if(byte_value2[i]) { array2[0] += byte_value2[i] << i; } } printf("%c\n", array2[0]); return 0; } /* code - end */ ※ 引述《yuhooo (yuho)》之銘言: : 假設線再我有一個 char[1] : 怎樣讓8個0/1整數 寫到char中 : 使char[] 改變 : 謝謝! -- World of bleed1979 http://bleed1979.myweb.hinet.net/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.168.132.166

04/01 11:27, , 1F
大感謝~
04/01 11:27, 1F
文章代碼(AID): #19qi7btO (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #19qi7btO (C_and_CPP)