C 将printf传输到某个变量

C 将printf传输到某个变量,c,variables,bit,C,Variables,Bit,我已经将数组的元素转移到printf,它是字符串/位,我需要将它转移到某个变量,因为我需要处理这个文本/字符串(01000001)并将其转换为字符(位=>char) //main 布尔比特2[8]={0,1,0,0,0,0,0,1}; printf(“%c\n”,解码字节(位s2)); //作用 字符解码字节(常量布尔位[8]){ int i; 对于(i=0;i你在找这个吗 #include <stdio.h> int main() { bool bits2[8] = { 0,

我已经将数组的元素转移到printf,它是字符串/位,我需要将它转移到某个变量,因为我需要处理这个文本/字符串(01000001)并将其转换为字符(位=>char)

//main
布尔比特2[8]={0,1,0,0,0,0,0,1};
printf(“%c\n”,解码字节(位s2));
//作用
字符解码字节(常量布尔位[8]){
int i;

对于(i=0;i你在找这个吗

#include <stdio.h>

int main() {
  bool bits2[8] = { 0,1,0,0,0,0,0,1 };
  unsigned char c = 0;

  for (int i = 0; i < 8; i++)
  {
    c <<= 1;
    c |= bits2[i];
  }

  printf("%02x\n", c);
}
#包括
int main(){
布尔比特2[8]={0,1,0,0,0,0,0,1};
无符号字符c=0;
对于(int i=0;i<8;i++)
{
c
//函数
字符解码字节(常量布尔位[8]){
整数和=0;

对于(int i=0;i
解码字节
应仅从二进制表示转换为实际整数:

#include <stdbool.h>
#include <stdio.h>

char decode_byte(const bool bits[8]) {
    unsigned char c = 0;

    for (int i = 0; i < 8; i++) {
        c = (c << 1) | bits2[i];
    }
    return c;
}

int main() {
    bool bits2[8] = { 0, 1, 0, 0, 0, 0, 0, 1 };
    printf("%c\n", decode_byte(bits2));
    return 0;
}
#包括
#包括
字符解码字节(常量布尔位[8]){
无符号字符c=0;
对于(int i=0;i<8;i++){

c=(c不清楚你在问什么。你想要得到什么结果?你的意思是当你的函数解码{01000001}时返回'A'?@Fawad是的,我的意思是..从控制台中的printf或从数组{01000001}返回'A'的函数
//function
char decode_byte(const bool bits[8]){
  int sum = 0;
  for(int i=0;i<8;i++){
      sum += (1<<i)*bits[7-i];
  }
  return (char)sum;
}
#include <stdbool.h>
#include <stdio.h>

char decode_byte(const bool bits[8]) {
    unsigned char c = 0;

    for (int i = 0; i < 8; i++) {
        c = (c << 1) | bits2[i];
    }
    return c;
}

int main() {
    bool bits2[8] = { 0, 1, 0, 0, 0, 0, 0, 1 };
    printf("%c\n", decode_byte(bits2));
    return 0;
}