c - 我可以在 c 编程语言中创建一个只有一位的变量吗?
问题描述
我是 C 的新手。我想知道我可以在 c 编程语言中创建一个只有一位的变量吗?或具有三位的变量。
例如 :
variable_type var1=0; /* 1 bit */
printf("%d",sizeof(var1)); /* output= 0.125 */
variable_type var2=5; /* 3 bit ,binary= 101 */
printf("%d",sizeof(var2)); /* output=0.375 */
上面的“sizeof()”符号可能是错误的。我做了这样的事情来解释自己。我想你知道。1 字节 = 8 位。
谢谢。
解决方案
我可以在 c 编程语言中创建一个只有一位的变量吗?
不。
对象是CHAR_BIT
位宽的正倍数。 CHAR_BIT
至少为 8 位。(不常见的实现有CHAR_BIT > 8
。)
一个struct
对象可以有位域。下面,成员bt
是 1 位,但struct one_bit
由于填充满足上述要求,所以位更多。
struct one_bit {
unsigned bt:1;
}
笔记:
_Bool
就好像它只有一个值位一样,但与任何其他对象一样,_Bools
不能小于CHAR_BIT
位。@约翰·布林格
推荐阅读
- zabbix - 如何使用 item.create 创建计算项?
- owin - Nancy/Owin 无法在同一服务器上使用 DNS 浏览到 URL
- javascript - jQuery - Ajax POST 请求转换为 GET 请求
- android - TextView 中的多重对齐
- html - PostMapping Id 处理
- python - 将 TFLite 转换为精简版
- database - 从数据库重建收据的宏
- javascript - 将用户上传的图像保存到文件夹和/或服务器
- laravel - belongsToMany 多个外键,laravel
- php - Laravel 集合查询,我哪里出错了?