C语言位段

位段

        位段的声明和结构体是类似的,有两个不同:

        1.位段的成员必须是 char、unsigned int 或signed int 。

        2.位段的成员名后边有一个冒号和一个数字。

        冒号后面数字代表该成员变量占多少个比特位的数据。a使用4共 ,b使用8个,c使用31个,一共需要43个比特位,开辟两个int类型存储。C语言标准并没有规定位段内存中的使用方式,所以位段不具有跨平台性。  

vs2019下的位段

        a需要3个比特位,b需要4个比特位,一个字节剩下一个比特位,vs2019不会使用这个比特位,再创建一个字节的空间存储c的7个比特位。

        10的二进制是1010,存储到a的内存中,a只有3个比特位,存储低位数据010,从右往左开始使用;20的二进制位10100,存储到b的内存中,b只有5个比特位,存储低位数据0100;30的二进制位是11110,存储到c的内存中,c有7个比特位,直接存储,不够的补0。

位段的内存分配

        位段的成员可以是 int unsigned int signed int 或者是 char (属于整形家族)类型

        位段的空间上是按照需要以4个字节( int )或者1个字节( char )的方式来开辟的。

        位段涉及很多不确定因素,位段是不跨平台的,注重可移植的程序应该避免使用位段。例如:1.从右往左使用比特位还是从左往右使用比特位,这是不确定的。

位段的跨平台问题

        int位段是有符号的还是无符号的。

        不同位的机器,位段最大数不一样,32位机器下的最大值是32,64位机器下的最大值是64。

        从右往左使用比特位还是从左往右使用比特位,这是不确定的。

        不够空间的时候,剩余的比特位是否使用,这也是不确定的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值