c++ - 从缓冲区输入的位
问题描述
包含缓冲区值的文件。前 16 位包含类型。接下来的 32 位给出了数据的长度。数据中的剩余值。
如何从 16 位中找到类型(查找它是 int 还是 char ...)
我在这里超级卡在我的过程中。无法找到将位转换为类型的方法。
解决方案
假设你有家庭作业:
你得到一个文件,其中第一位编码类型,接下来的 7 位编码长度,其余的是数据。
类型按以下方式编码:
0
是为 int1
是为 char打印由换行符分隔的整数或字符。
您只需使用给定的信息!由于 1 位用于编码类型,因此有两种可能的类型。因此,您只需阅读第一位,然后执行以下操作:
if (bit == 0) {
int *i = ...
}
else if (bit == 1) {
char *c = ...
}
推荐阅读
- javascript - 为每个嵌套的孩子分配样式和道具
- rabbitmq - 如何解决虚拟主机 my_vhost 在 rabbitmq 的节点上遇到错误
- c# - CefSharp 的注册 JS 方法更改,同时将 cefsharp 版本从 v. 57 更新到版本 75.1.143
- sql - 为 PL/SQL 解决列验证问题
- java - 在 Spring AOP 中将基于注释的切入点与基于方法签名的切入点混合?
- c++ - localtime() 函数正在调用 ___lll_lock_wait_private() 这使线程陷入死锁
- android - SAF(存储访问框架)是否需要任何访问存储的权限?
- linux - 可以从两个主机名访问 Ubuntu 服务器
- ubuntu - mysql不断重启:docker-compose bitnami/mysql5.7
- ios - 当应用程序在后台时,IOS会阻止位置监听