Re: [問題] 把8個 0/1 存成一個byte
因為不會將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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章