当前位置: 首页 > news >正文

做网站都用到哪些软件国外的网站可以做百度推广吗

做网站都用到哪些软件,国外的网站可以做百度推广吗,ppt模板做的好的网站有哪些,企业展厅建造方法目录 一、引言 二、整形在内存中的存储 2.1 进制之间的转换 2.1.1 整形的二进制 2.1.2 十进制和二进制 2.1.3 十进制和八进制的转换 2.1.4 十六进制和十进制的转换 2.2 原码#xff0c;反码#xff0c;和补码 三、大、小端字节序 3.1 大小端的定义 3.2 为什么会有大…目录 一、引言 二、整形在内存中的存储 2.1 进制之间的转换 2.1.1 整形的二进制 2.1.2 十进制和二进制 2.1.3 十进制和八进制的转换 2.1.4  十六进制和十进制的转换 2.2 原码反码和补码 三、大、小端字节序 3.1 大小端的定义 3.2 为什么会有大小端之分 3.3 代码区分 四、浮点型在内存中的存储 五、结论 一、引言 众所周知计算机只能识别二进制语言原理在于计算机只能识别打开和关闭的电信号也就是0和1。那么我们日常生活中各种负载的数据计算机是怎么识别和存储的呢。作为一个高端的程序员我们不仅仅要会写代码也要去了解计算机的运行原理和存储方式所以接下来姜糖将会给大家阐述一下我学习到的关于数据的内存管理的相关知识。 二、整形在内存中的存储 整数是我们日常生活中常见的数据类型所以我们先来讲讲整数。 2.1 进制之间的转换 2.1.1 整形的二进制 由sizeof(int)得知整形有4个字节而4个字节由32个bit构成在计算机科学中1位bit是最小的计算机存储单位可以存储一个二进制的数值即0或1。 所以整形的二进制是如图图中方格表示位里面是0或者1。 当整形为0时32个位全为0加2则如图 因为计算机只能识别0和1所以当计算机遇到2时就会进一位如十进制遇十进位一样。  而我们在计算机里常用的就是二进制八进制和十六进制生活中我们一般用十进制所以接下来姜糖就来给大家讲一下它们的转换。 2.1.2 十进制和二进制 首先是我们最常见最熟悉的十进制。它们之间怎么转换呢 我们再次观察二进制的结构会发现如图的规律 当前方格中的数*2^(方格从右往前数的个数-1)  当前方格在十进制中的表示 然后将它们加起来就行了如图中第一位为1在十进制中表示1其他方格为00*任何数字为0所以就是011所以十进制也为1。 2.1.3 十进制和八进制的转换 那么八进制怎么转换为八进制呢 而转换为十进制的方法而和二进制大同小异 当前方格中的数*8^(所在位数-1)  当前方格在十进制中的表示 2.1.4  十六进制和十进制的转换 那么十六进制有该如何转换呢 由前面可知十六进制也只包含0~15的数字那么在存两位数的时候会和一位数搞混如存15时那1和5怎么办。所以十六进制中10~15用a~f表示。 那么先转换成二进制我们发现4个二进制位可以完美放下0~15的数字所以4个二进制位表示一个十六进制的位 当前方格中的数*16^(方格从右往前数的个数-1)  当前方格在十进制中的表示 2.2 原码反码和补码 正数中原码反码补码都相同。 在我们生活中不仅有正数还有负数的存在那么负数在计算机里又是怎么存储的呢 计算机规定把数值位最高的一位当作字符位0为正1为负如图位1 我刚刚跟大家讲的就是数据的原码而反码就是将原码的符号位不变其他位依次按位取反就可以得到反码则0变成11变成0 补码则为反码1 *补码变成原码不用倒推符号位不变取反1便可 而我们在计算机中一般存放的是补码你这是为什么呢 在计算机系统中数值⼀律⽤补码来表⽰和存储。 原因在于使⽤补码可以将符号位和数值域统⼀处理 同时加法和减法也可以统⼀处理CPU只有加法器此外补码与原码相互转换其运算过程是 相同的不需要额外的硬件电路。 三、大、小端字节序 在我们写代码进行调试看地址时会发现一个有趣的现象如我的VS #include stdio.h int main() {int a 0x01020304;return 0; }我们发现其地址和我输进去的是反着来的就和我上面画的图一样其实这是计算机的一种存储方式——小端存储。 3.1 大小端的定义 既然有了小端存储那么就有大段存储那么什么是大小端呢 其实超过⼀个字节的数据在内存中存储的时候就有存储顺序的问题按照不同的存储顺序我们分 为⼤端字节序存储和⼩端字节序存储下⾯是具体的概念 大端存储模式是指数据的低位字节内容保存在内存的⾼地址处⽽数据的⾼位字节内容保存 在内存的低地址处。 小端存储模式是指数据的低位字节内容保存在内存的低地址处⽽数据的⾼位字节内容保存 在内存的⾼地址处。 上述概念需要记住⽅便分辨⼤小端。 如图 3.2 为什么会有大小端之分 这是因为在计算机系统中我们是以字节为单位的每个地址单元都对应着⼀个字节⼀个字节为8bit位但是在C语⾔中除了8bit的 char 之外还有16bit的 short 型32bit的 long 型要看 具体的编译器另外对于位数大于8位的处理器例如16位或者32位的处理器由于寄存器宽度大于⼀个字节那么必然存在着⼀个如何将多个字节安排的问题。因此就导致了大端存储模式和小端存 储模式。 例如⼀个 16bit 的 short 型 x 在内存中的地址为 0x0010 x 的值为 0x1122 那么 0x11 为⾼字节 0x22 为低字节。对于大端模式就将 0x11 放在低地址中即 0x0010 中 0x22 放在⾼地址中即 0x0011 中。小端模式刚好相反。我们常用的 X86 结构是小端模式而 KEIL C51 则为⼤端模式。很多的ARMDSP都为小端模式。有些ARM处理器还可以由硬件来选择是 大端模式还是小端模式。 3.3 代码区分 那我们能不能写一个代码区分一下编译器到底是大端存储还是小端存储呢 首先我们讲整形赋值一个1进去这样子这个数据的低字节就有了一个1其他的全为0。然后我们用字符型去把这个数据的第一个字节取出来如果为1则为小端存储。反之为0则为大端存储。 代码如下 #include stdio.h int main() {int a 1;int* b (char*)a;if (*b)printf(小端);elseprintf(大端);return 0; } 四、浮点型在内存中的存储 我们谈论完了整形数据的存储接下来我们来看一看浮点型类型的存储吧。 首先让我们想一想浮点型的存储是否和整形一样呢 我们可以用代码验证 #includestdio.hint main() {int n 3;float* pFloat (float*)n;printf(n的值为%d\n, n);printf(*pFloat的值为%f\n, *pFloat);*pFloat 3.0;printf(num的值为%d\n, n);printf(*pFloat的值为%f\n, *pFloat);return 0; } 结果为 很明显的可以得出整形和浮点型存储的方式是不一样的。 那么浮点型是怎么存储的呢 经过我的查阅资料 根据国际标准IEEE电⽓和电⼦⼯程协会754任意⼀个⼆进制浮点数V可以表示成下面的形式 按照上面规定的那样十进制3.0转换为二进制的浮点数 (十进制)3.0二进制11.0 二进制1.10 * 10^1 S 0; M 1.10 E 1 IEEE754规定; 对于32位的浮点数最高的1位存储符号位S接着的8位存储指数E剩下的23位存储有效数字M 对于64位的浮点数最高的1位存储符号位S接着的11位存储指数E剩下的52位存储有效数字M IEEE 754对有效数字M和指数E还有一些特别规定。 前面说过1M2也就是说M可以写成1.xxxxxx的形式其中xxxxxx表示小数部分。IEEE 754 规定在计算机内部保存M时默认这个数的第一位总是1因此可以被舍去只保存后面的xxxxxx部分。比如保存1.01的时候只保存01等到读取的时候再把第一位的1加上去。这样做的目的是节省1位有效数字。以32位浮点数为例留给M只有23位将第一位的1舍去以后等于可以保存24位有效数字。   至于指数E情况就比较复杂 首先E为一个无符号整数(unsigned int) 这意味着如果E为8位它的取值范围为0~255如果E为11位它的取值范围为0~2047。但是我们知道科学计数法中的E是可以出现负数的所以IEEE754规定存入内存时E的真实值必须再加上一个中间数对于8位的E这个中间数是127对于11位的E这个中间数是1023。比如2^10的E是 10所以保存成32位浮点数时必须保存成10127137即10001001。   我们已经知道了二进制中浮点数存的过程那么我们怎么取二进制数呢? E分三种情况 指数E从内存中取出还可以再分成三种情况 E不全为0或不全为1 这时浮点数就采用下面的规则表示即指数E的计算值减去127或1023得到真实值再将有效 数字M前加上第⼀位的1。 比如0.5的⼆进制形式为0.1由于规定正数部分必须为1即将小数点右移1位则为1.0*2^(-1)其 阶码为-1127(中间值)126表示为01111110而尾数1.0去掉整数部分为0补⻬0到23位 00000000000000000000000则其⼆进制表⽰形式为: 1 0 01111110 00000000000000000000000 E全为0 这时浮点数的指数E等于1-127或者1-1023即为真实值有效数字M不再加上第⼀位的1而是还 原为0.xxxxxx的小数。这样做是为了表示±0以及接近于0的很小的数字。 1 0 00000000 00100000000000000000000 E全为1 这时如果有效数字M全为0表示±无穷大正负取决于符号位s 1 0 11111111 00010000000000000000000 所以3.0存进去32位二进制位位 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0  0 0 0 0 0 五、结论 C语言的内容不止于此还有更多需要我们共同发现今天C语言的内存数据管理就到这里啦如果姜糖有讲的不好的地方欢迎大家提出谢谢大家也希望大家能一键三连哦
http://www.sczhlp.com/news/247530/

相关文章:

  • 英文版网站建设策划方案别样网站建设
  • 重庆食品商城网站设计wordpress dux5.1
  • 试述网站建设的流程.win7下如何建设网站
  • 自己建设的网站打开慢北京印刷厂
  • 怎么做百度里面自己的网站目前做啥网站致富
  • 网站建设的条件工业设计网官网
  • 济南网站开发薪酬wordpress柒比貳
  • 怎么做电脑网站后台微信公众号里的网站怎么做的
  • 有没有做网站源代码 修改的现在网络推广方式
  • 网站的布局结构三种wordpress出现的问题
  • 杭州网站建设代理商搜索引擎广告分为哪三类
  • 郑州网站设计制作上海建设工程管理网站
  • html门户网站开发源代码做建材外贸哪个网站比较好
  • 济南网站建设公司官网跨境网络营销是什么
  • 企业备案的网站名称站内推广策略
  • wordpress tag 列表岳阳优化营商环境
  • 这是一篇随笔
  • 《AI工程》书介绍
  • [转]Whistle系列之(五)Whistle移动端调试
  • 动画演示编辑距离
  • launch函数的参数
  • 网站建设零基础教材免费下载网络品牌营销推广途径
  • c网站开发网络营销的网站分类有
  • 上海市浦东新区建设工程安全质量监督站网站上海做网站的公司名称
  • 如何黑掉jsp做的网站wordpress个人博客安装
  • 网络科技有限公司简介范文宁波网站优化公司电话
  • 基础精品课程网站泰州住房城乡建设网站
  • 河南商丘网站浦口区建设网站
  • 鄞州区建网站外包网站建设与制作外包服务
  • 专业公司网站 南通深圳短视频推广