从缓冲区输入的位

时间:2019-03-03 17:29:40

标签: c++ c types binary bit

包含缓冲区值的文件。前16位包含类型。接下来的32位给出数据的长度。数据中的剩余值。

如何从16位中查找类型(查找是int还是char ...)

我在这里虽然陷入了超级困境。无法找到将位转换为类型的方法。

1 个答案:

答案 0 :(得分:0)

假设您有家庭作业:

  

为您提供了一个文件,其中第一位编码类型,即   接下来的7位编码长度,其余为数据。

     

使用以下方式对类型进行编码:

     
      
  • 0用于int
  •   
  • 1用于char
  •   
     

打印用换行符分隔的整数或字符。

您只使用给定的信息!由于1位用于编码类型,因此有两种可能的类型。因此,您只需阅读第一部分,然后做:

if (bit == 0) {
    int *i = ...
}
else if (bit == 1) {
    char *c = ...
}