为什么做pc网站06627网页制作和网站建设试卷

diannao/2026/1/26 1:55:48/文章来源:
为什么做pc网站,06627网页制作和网站建设试卷,asp.net购物网站模板,上海文化传媒有限公司含位域结构体的sizeof: 前面已经说过#xff0c;位域成员不能单独被取sizeof值#xff0c;我们这里要讨论的是含有位域的结构体的sizeof#xff0c;只是考虑到其特殊性而将其专门列了出来。 C99规定int、unsigned int和bool可以作为位域类型#xff0c;但编译器几乎都对此作… 含位域结构体的sizeof: 前面已经说过位域成员不能单独被取sizeof值我们这里要讨论的是含有位域的结构体的sizeof只是考虑到其特殊性而将其专门列了出来。 C99规定int、unsigned int和bool可以作为位域类型但编译器几乎都对此作了扩展允许其它类型类型的存在。 使用位域的主要目的是压缩存储其大致规则为 1) 如果相邻位域字段的类型相同且其位宽之和小于类型的sizeof大小则后面的字 段将紧邻前一个字段存储直到不能容纳为止 2) 如果相邻位域字段的类型相同但其位宽之和大于类型的sizeof大小则后面的字 段将从新的存储单元开始其偏移量为其类型大小的整数倍 3) 如果相邻的位域字段的类型不同则各编译器的具体实现有差异VC6采取不压缩方 式Dev-C采取压缩方式 4) 如果位域字段之间穿插着非位域字段则不进行压缩 5) 整个结构体的总大小为最宽基本类型成员大小的整数倍。 还是让我们来看看例子。示例1 struct BF1 {     char f1 : 3;     char f2 : 4;     char f3 : 5; };其内存布局为 |__f1___|____f2___ |__|____f3______|______|  |__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|__|位域类型为char第1个字节仅能容纳下f1和f2所以f2被压缩到第1个字节中而f3只能从下一个字节开始。因此sizeof(BF1)的结果为2。示例2 struct BF2 {     char f1 : 3;     short f2 : 4;     char f3 : 5; };由于相邻位域类型不同在VC6中其sizeof为6在Dev-C中为2。示例3 struct BF3 {     char f1 : 3;     char f2;     char f3 : 5; };非位域字段穿插在其中不会产生压缩在VC6和Dev-C中得到的大小均为3。 写出下列程序在X86上的运行结果。 struct mybitfields{unsigned short a : 4;unsigned short b : 5;unsigned short c : 7;}test;void main(void) {int i;test.a2;test.b3;test.c0;i*((short *)test);printf(%d ,i);}这个题的为难之处呢就在于前面定义结构体里面用到的冒号如果你能理解这个符号的含义那么问题就很好解决了。这里的冒号相当于分配几位空间也即在定义结构体的时候分配的成员a 4位的空间 b 5位c 7位一共是16位正好两个字节。下面画一个简单的示意变量名 位数test 15 14 13 12 11 10 9 |8 7 6 5 4 |3 2 1 0test.a | |0 0 1 0test.b |0 0 0 1 1 |test.c 0 0 0 0 0 0 0 | |在执行i*((short *)test); 时取从地址test开始两个字节short占两个字节的内容转化为short型数据即为0x0032再转为int型为0x00000032即50。输出的结果就是50。当然这里还涉及到字节及位的存储顺序问题后面再说。前面定义的结构体被称为位结构体。所谓位结构体是一种特殊的结构体在需要按位访问字节或字的一个或多个位时位结构体比按位操作要更方便一些。位结构体的定义方式如下struct [位结构体名]{数据类型 变量名:整数常数;...}位结构变量;说明1这里的数据类型只能为int型包括signed和unsigned2整数常数必须为0~15之间的整数当该常数为1时数据类型为unsigned显然嘛只有一位咋表示signed光一符号没意义呀3按数据类型变量名:整数常数;方式定义的结构成员称为位结构成员好像也叫位域在一个位结构体中可以同时包含位结构成员及普通的结构成员4位结构成员不能是指针或数据但结构变量可以是指针或数据5位结构体所占用的位数由各个位结构成员的位数总各决定。如在前面定义的结构体中一共占用45716位两个字节。另外我们看到在定义位结构成员时必须指定数据类型这个数据类型在位结构体占用多少内存时也起到不少的作用。举个例子struct mybitfieldA{char a:4;char b:3;}testA;struct mybitfieldB{short a:4;short b:3;}testB;这里testA占用一个字节而testB占用两个字节。知道原因了吧。在testA中是以char来定义位域的char是一个字节的因此位域占用的单位也按字节做单位也即如果不满一个字节的话按一个字节算未定义的位按零处理。而在testB中short为两个字节所以了不满两个字节的都按两个字节算未定义位按零处理关于位结构体在内存中的存储问题Kevins Theory #2: In a C structure that contains bit fields, if field A is defined in front of field B, then field A always occupies a lower bit address than field B. 来自http://www.linuxforum.net/forum/showflat.php?CatBoardlinuxkNumber638637page0viewcollapsedsb5oallfpartall说的是在C结构体中如果一个位域A在另一个位域B之前定义那么位域A将存储在比B小的位地址中。如果一个位域有多个位时各个位的排列顺序通常是按CPU的端模式(Endianess来进行的即在大端模式(big endian下高有效位在低位地址小端模式则相反。补充说明一个关于位域与普通结构成员一起使用的问题先看一个例子struct mybitfield{char a:4;char b:3;char aa;char c:1;}test;这种情况下test应该占几个字节呢2个4318占一个字节aa占一个还是3个43不足补一位占一个字节aa占一个字节c占一个字节写个小程序验证一下int main(int argc, char* argv[]){int i;test.a 1;test.b 1;test.aa 1;test.c 1;i*((short *)test);printf(%d /n,i);return 0;}输出结果是273化为十六进制数0x111可见是按三个字节来处理了如果按两个字节处理的话cba组成一个字节是10010001十六进制0x91再加上aa那就应该是0x191了举这个例子是为了说明一下定义位域的话最好是把所以有位域放在一起这样可以节省空间如果把c和aa换一下位置那test就只占两个字节了。另外也是为了强调一下位结构体的内存分配方式按定义的先后顺序来分配而位域或成员内的字节顺序则按照CPU的位顺序来进行一般与CPU的端模式对应。 struct mybitfields{unsigned short a : 4;unsigned short b : 5;unsigned short c : 7;} test; sizeof(test)  2;struct mybitfields{unsigned char a : 4;unsigned char b : 5;unsigned char c : 7;} test; sizeof(test)  3;struct mybitfields{unsigned char a : 4;unsigned short b : 5;unsigned char c : 7;} test; sizeof(test)  6;struct mybitfields{unsigned short a : 4;unsigned char b : 5;unsigned char c : 7;} test; sizeof(test)  4;struct mybitfields{unsigned char a : 4;unsigned char b : 5;unsigned short c : 7;} test; sizeof(test)  4;struct mybitfields{unsigned char a : 4;unsigned int b : 5;unsigned short c : 7;} test; sizeof(test)  12;转载于:https://www.cnblogs.com/llinzuxin/archive/2012/04/02/2950626.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/88117.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

梅县区住房和城乡规划建设局官方网站做企业网站需要什么条件

全世界只有3.14 % 的人关注了爆炸吧知识10月18日,有网友爆料称“上海野生动物园猛兽区一饲养员遭群熊撕扯”。随后,上海野生动物园证实,该饲养员目前已身亡。据悉,他才27岁,还没成家。从网上发布的现场视频来看&#x…

网站设计服务开发小程序商城多少钱

文章目录 VMWare 介绍Android 系统介绍概述最终效果前置步骤开始安装 VMWare 介绍 VMware Workstation是VMware公司开发的一款桌面虚拟化软件。它允许用户在一台物理计算机上同时运行多个操作系统,每个操作系统都在自己的虚拟机中运行。这使得用户可以在同一台计算…

电商设计就是网站设计吗wordpress 表格程序

效果 需求 我们这个页面顶部有tabs 栏 而且可以滑动到底部 进行分页 实现这样的页面我们应该怎么做 你应该会想到scroll-view 这个组件吧 下面我们来详情介绍一下这个页面的实现和功能开发 首先展示一下代码 item 循环项 <template><div class"wechat-or…

企业网站建设ejiew天猫交易购买平台

HTTP协议 HTTP协议&#xff08;HyperText Transfer Protocol&#xff09;即超文本传输协议 &#xff0c;是TCP/IC网络体系结构应用层的一个客户端-服务端协议&#xff0c;是所有客户端&#xff0c;服务端数据传输的基石&#xff08;数据传输规则&#xff09; 特点 ⭐基于TCP协…

假发网站是怎么做的wordpress慢6

介绍 Elasticsearch Curator通过以下方式帮助您策划或管理您的Elasticsearch索引和快照&#xff1a; 从集群中获取索引&#xff08;或快照&#xff09;的完整列表&#xff0c;作为可操作列表迭代用户定义的过滤器列表&#xff0c;根据需要逐步从此可操作列表中删除索引&#…

如何免费做网站网页遵义做网站优化

原文:使用.netFx4.0提供的方法解决32位程序访问64位系统的64位注册表我们知道目标平台是32位的程序运行在64位的系统上&#xff0c;去访问部分注册表的时候系统自动重定向到win32node节点对应的项去了。但是做过安装程序开发人员可能遇到过“需要去掉重定向”的问题&#xff0c…

做斗图的网站伪造wordpress浏览量

2019独角兽企业重金招聘Python工程师标准>>> 做Android应用的人都知道&#xff0c;要一个apk适用多个不同的手机屏幕是很容易的&#xff0c;就是在项目的res文件夹下面有多套相关的资源文件。程序运行的 时候&#xff0c;Android系统会根据当前设备的信息去加载不同…

自学网站平面设计ui设计和网站开发

转载自&#xff08;http://www.cnblogs.com/M-LittleBird/p/5902850.html&#xff09; 一、下载windows版本的Redis 官网以及没有下载地址&#xff0c;只能在github上下载&#xff0c;官网只提供linux版本的下载 官网下载地址&#xff1a;http://redis.io/download github下载地…

中文网站模板大全wordpress支持系统

解决多级路径刷新页面样式丢失的问题 1.public/index.html 中 引入样式时不写 ./ 写 / &#xff08;常用&#xff09;2.public/index.html 中 引入样式时不写 ./ 写 %PUBLIC_URL% &#xff08;常用&#xff09;3.使用HashRouter

兰州企业网站建设多少钱电工培训学校

来自&#xff1a;金钟路上小码工链接&#xff1a;https://www.cnblogs.com/danbing/p/7459224.html一、什么是负载均衡&#xff1f;互联网早期&#xff0c;业务流量比较小并且业务逻辑比较简单&#xff0c;单台服务器便可以满足基本的需求&#xff1b;但随着互联网的发展&#…

网站顶端图片素材宁波网站推广外包服务

1. 对于带宽为50k Hz的信道&#xff0c;若有4种不同的物理状态来表示数据&#xff0c;信噪比为20dB 。&#xff08;1&#xff09; 按奈奎斯特定理&#xff0c;信道的最大传输数据速率是多少&#xff1f;&#xff08;2&#xff09; 按香农定理&#xff0c;信道的最大传输数据速度…

中文网站开发语言公司简历模板

2017年9月发布时&#xff0c;小米米A1几乎成功一夜成名。小西米去年夏天推出了Mi A2和Mi A2 Lite。现在&#xff0c;正如XDA开发者所揭示的那样&#xff0c;中国品牌正在筹备第三代产品阵容。代号为“bamboo_sprout”和“cosmos_sprout” - 所有Android One智能手机都包含代号为…

如何在网站上做社交的链接火狐浏览器下载手机版

前言在C#中DataTable导出数据的时候&#xff0c;我们需要HTML格式的输出数据, 这时候就需要使用将DataTable导出为到HTML格式的方法了&#xff0c;以下代码就可以帮助我们达到目的。首先,我们要绑定DataTable和 DataGridView。一、通过DataTable绑定DataGridView1. 创建DataTab…

金融 网站 模板什么叫整合营销

二叉树 1. 二叉树1.1 二叉树的介绍1.2 两种特殊的二叉树1.3 二叉树的性质1.4 二叉树的存储 2. 二叉树的基本操作2.1 二叉树的创建2.2 二叉树的优先遍历2.3 递归实现二叉树遍历2.4 用非递归实现二叉树遍历 1. 二叉树 1.1 二叉树的介绍 二叉树是一种数据结构&#xff0c;一颗二…

python完整网站开发项目视频教程表3-5企业网站建设可行性分析

DOM4J是 dom4j.org 出品的一个开源 XML 解析包。DOM4J应用于 Java 平台&#xff0c;采用了 Java 集合框架并完全支持 DOM&#xff0c;SAX 和 JAXP。 DOM4J 使用起来非常简单。只要你了解基本的 XML-DOM 模型&#xff0c;就能使用。 Dom&#xff1a;把整个文档作为一个对象。 DO…

上海比较大的优化公司石家庄网站优化招聘

##江科大51单片机学习 什么是单片机&#xff1f;&#xff1f;&#xff1f; 单片机&#xff0c;英文名&#xff0c;Micro Controller Unit&#xff0c;简称MCU&#xff08;tips&#xff1a;有人会简称它为CPU&#xff0c;但不是如此&#xff0c;CPU其实被集成在MCU中&#xff…

广西专业网站建设玉树北京网站建设

分布式系统的5个优点 资源共享开放性并发性可伸缩性容错性 分布式计算中必须考虑的设计问题 透明性&#xff1a;隐藏底层分布 开放性 可伸缩性 三个维度 规模&#xff1a;又分为增强扩展(单挑)&#xff0c;增加扩展(群殴)分布可靠性 信息安全性 主要防止以下类型的攻击 拦…

找工作哪个网站好智联招聘郑州网站建设优点

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 可视化工具操作1 tabixhttp://ui.tabix.io/ 2 DBeaverhttps://dbeaver.io/download/ 可视化工具操作 1 tabix tabix 支持通过浏览器直接连接 ClickHouse&#xff…

rp网站做多大永久免费制作网站

上课&#xff01;全体起立~ 大家好&#xff0c;欢迎观看蛙色官方系列全景摄影课程&#xff01; 这节课以御2为例 介绍的是无人机调参 步骤一&#xff1a;下载DJI Go 4并注册账号 步骤二&#xff1a;拿下遥杆并装好&#xff0c;展开遥控天线。将无人机与遥控器相连&#xff…

建立网站要准备多少钱wordpress 大网站

一、前言 对于Mac用户来说&#xff0c;电脑卡顿、运行缓慢无疑是一件令人头疼的事情。而市面上的清理软件又五花八门&#xff0c;效果参差不齐&#xff0c;如何才能找到一款真正有效的清理工具呢&#xff1f;今天&#xff0c;我们为大家推荐一款实力派电脑清理软件——CleanMy…