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

网站建设签收单网络文学网站开发

网站建设签收单,网络文学网站开发,wordpress jwplayer,网站后台样式模板【计算机系统基础3】数据的存储与运算 3.程序调试与实践#xff1a;数据存储与运算3.1真值与机器数3.1.1整数的编码 3.2数据的存储3.3数组的对齐3.4数据类型的转换3.4.1整数之间的数据类型转换3.4.2整数与浮点数之间的转换3.4.3自动类型转换 3.5浮点数的表示和运算--IEEE 7543… 【计算机系统基础3】数据的存储与运算 3.程序调试与实践数据存储与运算3.1真值与机器数3.1.1整数的编码 3.2数据的存储3.3数组的对齐3.4数据类型的转换3.4.1整数之间的数据类型转换3.4.2整数与浮点数之间的转换3.4.3自动类型转换 3.5浮点数的表示和运算--IEEE 7543.5.1 IEEE 754 浮点数基本格式3.5.2 IEEE 754 数据按置的分类float 为例 3.6浮点数的表示和运算--尾数的舍入处理 3.程序调试与实践数据存储与运算 3.1真值与机器数 真值 数据在现实世界中的表示 机器数 数据在计算机内部的二进制编码表示 温度零下3.5度 习惯写法-3.5 (数据的真值/数据的实际值) 3.1.1整数的编码 带符号整数char、short、int、long 无符号整数unsigned char、unsigned short、unsigned int 示例代码1 #includestdio.hint main() { int ai 100,bi 2147483648,ci -100; // 2^31 2147483648unsigned au 100,bu 2147483648,cu -100;printf(ai%d, bi%d, ci%d\n,ai,bi,ci);printf(au%u, bu%u, cu%u\n,au,bu,cu);return 0; }示例代码1编译运行 ./manu ai100, bi-2147483648, ci-100 au100, bu2147483648, cu4294967196问题带符号整数 bi 的输出结果值为何是负数? 无符号整数 cu赋值-个负的数据后cu 输出的结果为什么会是这个值? cu 在计算机中实际存储的内容是什么? 反汇编查看示例1代码 相同颜色为对应值 问题回答 bi 编码成为 0xffffff9c符号位为1为负数所以输出为负数。 cu 编码成为 0xffffff9c对于无符号整数来说换算成十进制就是 4294967196 带符号整数: 补码 无符号整数: 二进制编码 3.2数据的存储 示例代码 #include stdio.h void main() {char a 100;short b 100;int c 100;int d 0x12345678;printf(a%0xH,b%0xH,c%0xH,d%0xH\n, a, b, c, d); }调试 (gdb) i r rsp rbp rsp 0x7ffffffedde0 0x7ffffffedde0 rbp 0x7ffffffeddf0 0x7ffffffeddf0 ...//执行完 int d 0x12345678; (gdb) x/16xb $rsp 0x7ffffffedde0: 0xe0 0xde 0xfe 0xff 0xff 0x64 0x64 0x00 0x7ffffffedde8: 0x64 0x00 0x00 0x00 0x78 0x56 0x34 0x12变量在栈帧中的存储因为系统是小端模式。 大端方式最高有效字节存放在低地址单元中 最低有效字节存放在高地址单元中。 小端方式最高有效字节存放在高地址单元中, 最低有效字节存放在低地址单元中。 3.3数组的对齐 示例代码 #include stdio.hvoid main() {struct record{char a;int b;short c;char d;} R[2];R[0].a 1;R[0].b 2;R[0].c 3;R[0].d 4;R[1].a 5;R[1].b 6;R[1].c 7;R[1].d 8;printf(数据存储时的边界对齐); }调试 ...//运行完R[1].d 8; (gdb) x/32xb $rsp 0x7ffffffeddd0: 0x01 0x00 0x00 0x00 0x02 0x00 0x00 0x00 0x7ffffffeddd8: 0x03 0x00 0x04 0x08 0x05 0x00 0x00 0x00 0x7ffffffedde0: 0x06 0x00 0x00 0x00 0x07 0x00 0x08 0x00 0x7ffffffedde8: 0x00 0x8c 0x05 0x6b 0xb3 0xa8 0xe2 0x8c不考虑对齐方式下:数组R占用 (1421)x216 字节 对齐方式下:数组R占用 (134211)x224 字节 相比于不对齐每个数组多占用 4 个字节 示例代码修改后 #include stdio.hvoid main() {struct record{char a;char d;short c;int b;} R[2];R[0].a 1;R[0].b 2;R[0].c 3;R[0].d 4;R[1].a 5;R[1].b 6;R[1].c 7;R[1].d 8;printf(数据存储时的边界对齐); }调试 (gdb) x/20xb $rsp 0x7ffffffeddd0: 0x01 0x04 0x03 0x00 0x02 0x00 0x00 0x00 0x7ffffffeddd8: 0x05 0x08 0x07 0x00 0x06 0x00 0x00 0x00 0x7ffffffedde0: 0xe0 0xde 0xfe 0xff3.4数据类型的转换 3.4.1整数之间的数据类型转换 机器数之间的转换 赋值语句b a; 情况一相同宽度的两个整型数据之间的赋值 a 和 b 的机器数相同真值不一定相同取决于 a 和 b 的数据类型 情况二将一个短的数据类型赋值给一个长的数据类型 把 a 的 n 位 01 序列复制在 b 的低 n 位b的高 m-n 位由 a 的数据类型决定 n位无符号整数 将b的高 m-n 位置为0 n位带符号整数 将b的高 m-n 位置为 a 的符号位 情况三将一个长的数据类型赋值给一个短的数据类型 将 a 的低 m 位的 01 序列赋值给 b 丢弃 a 的高位部分 示例代码 #include stdio.h void main() {short si -100;unsigned short usi si;int i usi;unsigned ui usi;int i1 si;unsigned ui1 si;int i2 0x12348765;short si2 i2;unsigned short usi2 i2;int i3 si2;int i4 4294967296;printf(si%d,usi%u,i%d,ui%u,i1%d,ui1%u\n, si, usi, i, ui, i1, ui1);printf(i2%d,si2%d,usi2%u,i3%d,i4%d\n, i2, si2, usi2, i3, i4); }调试 相同宽度的两个整型数据之间的赋值示例 零扩展代码示例 符号扩展示例 截断 3.4.2整数与浮点数之间的转换 示例代码 #includestdio.h int main() {int i10x7fffffff,i2,itemp;float f10x987654321,f2,ftemp;ftemp i1;i2 ftemp;itemp f1;f2 itemp;printf(i1%d,i2%d,f1%f,f2%f\n,i1,i2,f1,f2);return 0; }整数到浮点数 要进行数据编码格式上的转换而不是机器数上的直接复制。 没看太明白 浮点数到整数 3.4.3自动类型转换 示例代码 #includestdio.hint f1(unsigned int n) {int sum 1,power 1;int i;for(i 0;i n - 1;i){power * 2;sum power;}return sum; }int main() {int sum;sum f1(0);printf(sum%d\n,sum);return 0; }执行后结果死循环 关键在于这儿的比较i 于 n - 1 的比较会自动转换为无符号整型的比较执行完 n - 1 后n的数值edx如下 这个数在无符号整型的比较下恒成立所以为死循环 修改内容 #includestdio.hint f1(int n)//改为整型 {int sum 1,power 1;int i;for(i 0;i n - 1;i) {power * 2;sum power;}return sum; }int main() {int sum;sum f1(0);printf(sum%d\n,sum);return 0; }3.5浮点数的表示和运算–IEEE 754 3.5.1 IEEE 754 浮点数基本格式 float 类型32 位的单精度浮点格式 double 类型64 位的双精度浮点格式 3.5.2 IEEE 754 数据按置的分类float 为例 分类五类下图没有体现的是无定义数 各类值的编码 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Utc5JczA-1684569046231)(…/软件杯-高性能分析型连接查询/image-20220627151052118.png)] 真值与机器数对应关系举例 规格化数 非规格化数 示例程序 #include stdio.h void main() {float finf1 4e38,finf2 5e38,finf3 6e38; //正无穷大float fninf1 -4e38, fninf2 -5e38, fninf3 -6e38; //负无穷大float fzero 0, fnzero -fzero;// 0,-0float fnormal1 5.0, fnormal2 0.1, fnnormal1 -5, fnnormal2 -0.1; //规格化数float ffrac 1e-40, fnfrac -1e-40;//非规格化数float fnan1 finf1 fninf1, fnan2 -fnan1;//无定义数float finf4 fnormal1 / fzero; //除以0无穷大printf(%f %f %f\n, finf1, finf2, finf3);printf(%f %f %f\n, fninf1, fninf2, fninf3);printf(%f %f\n, fzero, fnzero);printf(%f %.20f \n%f %.20f\n, fnormal1, fnormal2, fnnormal1, fnnormal2);printf(%.50f\n%.50f\n, ffrac, fnfrac);printf(%f %f\n, fnan1, fnan2);printf(%f \n, finf4); }输出 打印结果分析 第一行 第二行 第三行 第四行 第五行 第六行 第七行 3.6浮点数的表示和运算–尾数的舍入处理 以32位单精度浮点数格式为例就近舍入法 示例代码 #include stdio.hvoid main() {float a1 0x8000000, a2 0x8000001, a3 0x8000014, a4 0x8000017;float b1 0x8000019, b2 0x800000c, b3 0x800000d;float c1 0x8000008, c2 0x8000018;float g 0.1;printf(a1%xH,a2%xH,a3%xH,a4%xH\n,(int)a1,(int)a2,(int)a3,(int)a4);printf(b1%xH,b2%xH,b3%xH\n,(int)b1,(int)b2,(int)b3);printf(c1%xH,c2%xH\n,(int)c1,(int)c2);printf(g%.20f,g); };编译运行 ./floatround a18000000H,a28000000H,a38000010H,a48000010H b18000020H,b28000010H,b38000010H c18000000H,c28000020H g0.10000000149011611938a1. a2、a3、a4:输出值 ≤ 初始值, 舍操作 b1、b2、b3:输出值 初始值, 入操作 c1:输出值 初始值, 舍操作 c2:输出值 初始值, 入操作 g:输出值 0.1, 0.1用机器数不可以精确表示,入操作 分析
http://www.w-s-a.com/news/471460/

相关文章:

  • nodejs 做网站wordpress主题绕过激活码
  • 平湖模板网站建设公司网页美工培训
  • 顺德网站建设市场建设工程交易中心网站
  • 深圳企业网站怎么做浪琴手表网站建设图
  • 2018网站外链怎么做济南 网站设计公司
  • 承德百度网站建设郑州网站seo优化公司
  • 四川建站模板网站公司分类信息网站制作
  • 网站开发前后端有wordpress模板安装教程视频教程
  • 有网站想修改里面的内容怎么做怎么做黑彩黑彩网站
  • 什么专业会做网站网站建设续费合同
  • 网站开发的项目开发网站做直播功能需要注册吗
  • 网站开发新手什么软件好网站设计师和ui设计师
  • 太仓苏州网站建设软件开发网站建设
  • 一个虚拟主机做2个网站吗工信部怎么查网站备案
  • 本地网站做淘宝客制作app步骤
  • 关于企业网站建设网页布局怎么设计
  • 惠州市网站设计公司裴东莞嘘网站汉建设
  • 长葛网站建站电子商务网站是什么
  • 泉做网站的公司太原网站建设开发公司
  • wordpress菜单栏的函数调用迅速上排名网站优化
  • 网站深圳广西模板厂哪家价格低
  • 搜索网站显示网页无法访问最好的网站推广
  • 巴彦淖尔市百家姓网站建设搬瓦工暗转wordpress
  • 温州鹿城区企业网站搭建云虚拟机
  • 网站的开发方法php网站商城源码
  • 旅游找什么网站好维护公司网站建设
  • 长春市长春网站制作站优化杭州企业推广网站
  • 网站建设开发设计营销公司山东网信办抓好网站建设
  • 斗图在线制作网站搜索关键词优化
  • 大连 网站建设 有限公司十大erp系统