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

泉州网站建设qzdziwordpress首页图片

泉州网站建设qzdzi,wordpress首页图片,wordpress 加子目录,在线制作头像模板整数在内存中的存储 整数的2进制表⽰⽅法有三种#xff0c;即原码、反码和补码。 对于整形来说#xff0c;数据存放内存中的其实是补码。 在计算机系统中#xff0c;数值一律用补码来表示和存储。原因是#xff0c;使用补码#xff0c;可以使符号位和数值域统一处理即原码、反码和补码。 对于整形来说数据存放内存中的其实是补码。 在计算机系统中数值一律用补码来表示和存储。原因是使用补码可以使符号位和数值域统一处理同时还可以使加法和减法统一处理CPU中只有加法器。此外原码和补码相互转换运算过程相同不需要额外硬件电路。 大小端存储 ⼤端存储模式是指数据的低位字节内容保存在内存的⾼地址处⽽数据的⾼位字节内容保存在内存的低地址处。 ⼩端存储模式是指数据的低位字节内容保存在内存的低地址处⽽数据的⾼位字节内容保存在内存的⾼地址处。 为何存在大小端 大小端之分主要源于计算机系统中多字节数据的存储顺序问题。在计算机系统中每个地址单元对应着一个字节而一个字节为8位。然而对于位数大于8位的处理器如16位或32位的处理器寄存器宽度大于一个字节因此需要将多个字节进行排列。 #include stdio.hint check_sys() {int i 1;return (*(char *)i); }int main() {int ret check_sys();if(ret 1) {printf(⼩端\n); }else {printf(⼤端\n); }return 0; }联合体 int check_sys() {{int i;char c;}un;un.i 1;return un.c; }浮点数在内存中的存储 int main() {int n 9;float *pFloat (float *)n;printf(n的值为%d\n,n);printf(*pFloat的值为%f\n,*pFloat);*pFloat 9.0;printf(num的值为%d\n,n);printf(*pFloat的值为%f\n,*pFloat);return 0; }在这个程序中输出为9 0.000000 一个很大的数值 9.000000 任意⼀个⼆进制浮点数V可以表⽰成下⾯的形式 V (-1) ^S*M*2^E  • (-1)^S 表⽰符号位当S0V为正数当S1V为负数 • M表⽰有效数字M是⼤于等于1⼩于2的 • E 表⽰指数位 在计算机内部保存M的时候默认第一位总是1所以可以舍去只保留后面的部分。等到读取的时候再把第⼀位的1加上去。这样做的⽬的是节省1位有效数字。以32位浮点数为例留给M只有23位将第⼀位的1舍去以后等于可以保存24位有效数字。 E为一个无符号整数但是科学计数法中的E是可以出现负数的。等到读取的时候再把第⼀位的1加上去。这样做的⽬的是节省1位有效数字。以32位浮点数为例留给M只有23位将第⼀位的1舍去以后等于可以保存24位有效数字。 指数E从内存中取出可以再分成三种情况 E不全为0或不全为1 指数E的计算值减去127或1023得到真实值再将有效数字M前加上第⼀位的1。 E全为0 浮点数的指数E等于1-127或者1-1023即为真实值有效数字M不再加上第⼀位的1⽽是还 原为0.xxxxxx的⼩数。这样做是为了表⽰±0以及接近于0的很⼩的数字。 E全为1: 如果有效数字M全为0表⽰±⽆穷⼤正负取决于符号位s。为什么 9 还原成浮点数就成了 0.000000 9以整型的形式存储在内存中得到如下⼆进制序列 1 0000 0000 0000 0000 0000 0000 0000 1001 最后23位的有效数字M00000000000000000001001。 由于指数E全为0所以符合E为全0的情况。因此浮点数V就写成    V(-1)^0 × 0.00000000000000000001001×2^(-126)1.001×2^(-146) 显然V是⼀个很⼩的接近于0的正数所以⽤⼗进制⼩数表示就是0.000000。 浮点数9.0为什么整数打印是 1091567616 ⾸先浮点数9.0等于⼆进制的1001.0即换算成科学计数法是1.001×2^3 所以9.0 (-1) *(1.001) ∗ 2^3。 那么第⼀位的符号位S0有效数字M等于001后⾯再加20个0凑满23位指数E等于3127130即10000010 所以写成⼆进制形式应该是SEM即0 10000010 001 0000 0000 0000 0000 0000 。 练习 signed char所有的最高位被当作符号位剩下的为数值位。内存中存放的数据为补码。最前面为1是负数。符号位不变其他位置按位取反再1。 unsigned char 0-255 这三种类型在内存种存储时的补码是相同的都是11111111。char类型要提升为int类型才能打印整形提升的时候要补充符号位111111111111111打印-1。signed char同理。unsigned0000000011111111打印256。 打印的是无符号数。-128是1000000001000000%u打印认为a中存储的是无符号数首先要整型提升。其在内存中的补码为1111 1111 1111 1111 1111 1111 111。打印的值是二进制补码所对应的十进制。128放入就不是128了因为signed int所存储的值是-128127。只能存8个比特位10000000。高位补11111111110000000。unsigned是无符号是但是用%d又被当作无符号类型。 #include stdio.h int main() {char a[1000];int i;for(i0; i1000; i){a[i] -1-i;}printf(%d,strlen(a));return 0; }求得的是字符串的长度并且是\0(asc码值为0)之前的长度。 顺序为-1 -2 -3 ……-128 127 126 ……0。一共有255个数字。 #include stdio.h int main() {unsigned int i;for(i 9; i 0; i--){printf(%u\n,i);}return 0; } unsigned char只能存到255取值范围为0-255。永远大于等于0所以永远成立。 #include stdio.hint main() {int a[4] { 1, 2, 3, 4 };int *ptr1 (int *)(a 1);int *ptr2 (int *)((int)a 1);printf(%x,%x, ptr1[-1], *ptr2);return 0; }相当于整型加整型。 4 20000000
http://www.zqtcl.cn/news/11189/

相关文章:

  • 企业网站建设结论wordpress建站专家
  • 湖北系统建站怎么用四合一做网站
  • 网站介绍模板上海做网站及推广
  • 免费cms建站系统有哪些网站后台修改不了
  • 拖拉建网站站酷网logo素材图库
  • 网站宣传文案范例在贸易网站怎么做贸易
  • 网站建设中广告法绝对化用语整理学校校园网站建设方案
  • 靖江市建设局网站成都房地产市场
  • 网站服务器哪些好深圳市宝安区劳动局电话
  • 套模版做的网站好优化吗惠安网站建设费用
  • 怎样免费建一个网站互联网营销师资格证
  • 东莞做网站 自媒体桂林北站到阳朔怎么坐车
  • 西安做网站优化河北高端网站建设
  • seo的站外优化流程郑州网站设计的公司
  • 太原定制网站制作流程手机淘宝客网站怎么做的
  • 哪家公司可以做网站做网站上海公司
  • 如何重装一下wordpress手机网站建设优化软件
  • 东莞seo建站公司江西建设厅官方网站
  • 最早的c2c网站杭州建设网 信用等级查询
  • 好的网站建设价格网站开发方法有哪些
  • 网站后期运营方案步骤c2c网站有哪些平台
  • 潮州网站设计html制作答题网页
  • 网站设计公司电话手机网站免费的
  • 洛阳网站开发公司梅州生态建设有限公司网站
  • 网站平台本地创建wordpress
  • 泗水网站建设ys178汽车网站页面设计
  • 珠海建设工程信息网站做网站的思想体会
  • 网站建设的域名的选择英文网站建设中
  • 中国林业工程建设协会网站校园网站素材
  • 免费发布推广的网站网站套餐表格模板