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

网站搭建合同范本建设网站专业公司吗

网站搭建合同范本,建设网站专业公司吗,wordpress管理插件下载,最佳商城ui网站设计CSAPP lab1-Data Lab 前言#xff1a; 本系列文章用于记录开始学习csapp的过程#xff0c;奈何感觉自己基础实在太渣渣#xff0c;系统好好学习一下这本神书以及其对应的lab lab 这一张的lab是真的干#xff0c;好几道题卡的我脑壳都卡秃噜了#xff0c;好歹终于凭借着…CSAPP lab1-Data Lab 前言 本系列文章用于记录开始学习csapp的过程奈何感觉自己基础实在太渣渣系统好好学习一下这本神书以及其对应的lab lab 这一张的lab是真的干好几道题卡的我脑壳都卡秃噜了好歹终于凭借着面向用例编程完成了这一张的lab Btest tests your code for correctness by running millions of test cases on each function. It tests wide swaths around well known corner cases such as Tmin and zero for integer puzzles, and zero, inf, and the boundary between denormalized and normalized numbers for floating point puzzles. When btest detects an error in one of your functions, it prints out the test that failed, the incorrect result, and the expected result, and then terminates the testing for that function.很多很多测试用例哦再也不用担心绞尽脑子想测试用例拉 简介 本实验分为俩部分第一部分是对整数操作第二部分是对浮点数操作。 通过可以使用的运算符来实现出要求的操作即可并且通过./dlc -e bits.c 来检测自己是否使用非法操作 完成后可通过./btest 查看自己分数以及对应是哪个测试用例错误 题目 bitXor 只使用 和 ~ 实现 ^ 上手题还是很轻松的啦 int bitXor(int x, int y) {int t1 x y;int t2 ~x ~y;return ~t1 ~t2; }tmin 按照定义给出最小值就可以了0x80000000 int tmin(void) {return 1 31; }isTmax 我这里用的是如果是最大值那么*2 就是0xFFFFFFFE(最后一位是0其他全1)然后2就是0了然后取反是1同时看看x不是-2就行了 int isTmax(int x) {int p x 2 x ;return !p (!!(x 1)); }allOddBits 如果所有奇数位设置为1则返回1. 这个我直接就是用一个奇数位全1的去和x进行与操作如果是正确的话那么e2取反也就是偶数位全1在和他们与的结果取或结果一定是-1反之其他的都不对。上述很多思路就是根据唯一满足的找特定关系那么其他就几乎是不满足的。 int allOddBits(int x) {int e (0xAA 8) 0xAA;int e2 (e 16) e;int p e2 x;return !((~e2 | p) 1); }negate 这个直接按照定义就可以取反1 int negate(int x) {return ~x 1; }isAsciiDigit 这个是判断一个数是否在一个区间里。 我的方法就是把公式变换一下譬如 [x 0x39 ]- [ x - 0x39 0 ] - [x - 0x39 - 1] 0 因为减法可以模拟然后和0比较的值又可以用符号位判断 int isAsciiDigit(int x) {int p1 0x30;int d1 ~p1 1;int p2 0x39 1;int d2 ~p2 1;int e1 !((x d1) 31);int e2 (x d2) 31;return e1 e2; }conditional 实现一个 x ? y : z 运算 我直接就将x 变成要么全1要么全0然后都与完在一起了 int conditional(int x, int y, int z) {int e !!x;int e2 (e 31) 31;int e3 ~e2;return (e2 y) (e3 z); }isLessOrEqual 判断x y 用分类思想然后找特殊关系就可以。反正也只有4中情况 【正正】 【负负】【正负】【负正】 后面俩种情况直接就能得出结果然后讨论前面的就行也不用考虑溢出了 int isLessOrEqual(int x, int y) {int f1 x 31 1;int f2 y 31 1;int e ~(y) 1;int e3 x e;int e4 e3 31 1;int e1 (f1 ^ 0) (f2 ^ 1);int e2 !((f1 ^ 1) (f2 ^ 0));return e2 (e1 | e4 | !(x ^ y)); }logicalNeg 这个是取逻辑非从这里开始就我就卡起来了当时没搞明白定义。 思想还是从特殊的数出手只有0能返回1其他就都是0了 int logicalNeg(int x) {int e1 ((x) 31) ^ 1;int e2 (x ~0) 31;return e1 e2 1; }howManyBits 这个上来就是个王炸想着怎么也不能这么写吧想半天不会其他的只能模拟了。 目的是找到最低用多少位就能表示这个数其实就是从左到又找到第一个与左边不一样的数字他的位置就是那个返回数这个变变形状负数正数就统一了 所以最后的问题就变成找最左边第一个出现的1的位置 然后我就想了好久啊~最终被迫使出我的二分大法伪二分一开始凭感觉写的最后优化了一下发现超就没改了 基本上就是分段然后求最左边第一个出现1的段其他的段就扔了 思路很简单用这些操作符真是嘎嘎写 int howManyBits(int x) { // pretend bisection(binary) findint e1 ~(x 31);int e2 (~(x ^ e1));int x1 e2;// example : 00001000 00000000 // two byteint d1 x1 0xFF;//0int x2 x1 8;int d2 x2 0xFF;//8int x3 x2 8;int d3 x3 0xFF;//16int x4 x3 8;int d4 x4 0xFF; // 24int d4f ((!!d4 31) 31);int p10 d4f 24;int p11 p10 ((!p10 31) 31 ((!d3 4) ^ 16 ));int p12 p11 ((!p11 31) 31 ((!d2 3) ^ 8 ));int p1 p12;//p1 (!p1 31) 31 ((!!d1 31) 31 ) 0;// get have 1 byte that high 8 biteint b1 d4f d4;int b2 (((!b1 31) 31) d3) | b1;int b3 (((!b2 31) 31) d2) | b2;int b4 (((!b3 31) 31) d1) | b3;int b b4;int d5 b 0xF; //0int bb b 4;int d6 bb 0xF;//4int d6f ((!!d6 31) 31);int p2 d6f 4;//p2 (!p2 31) 31 (!!d1 31) 31 0int b5 d6f d6;int b6 (((!b5 31) 31) d5) | b5;int p30 (b6 1) 4;int p31 p30 ((!p30 31) 31 (((b6 4) 29) 31) 3);int p32 p31 ((!p31 31) 31 b6 2);int p33 p32 ((!p32 31) 31 b6 1);int p3 p33;return p1 p2 p3 1; }floatScale2 经过上面的洗礼下面这个稍稍简单一点点。 搞清楚规格书和非规格数的表示形式就行了 unsigned floatScale2(unsigned uf) {// 32 bite 0 0000000 0 0000000 00000000 00000000int dw (uf 0x7FFFFF) 1;int j uf 0x7F800000;int jj 0x800000;int f uf 0x80000000;if(!((j ^ 0x7F800000) 1)){ // - INFreturn uf;}if( !j !!(dw 0x800000) ){ // exponent is zero that represent 非规格化j jj;dw 0x7FFFFFFF;} else if(j){j jj;dw 1;}return f | dw | j; }floatFloat2Int 这个就是float转int搞清楚边界情况书上都有用if else秒了他这if else一解封上面浮点数格式搞清楚洒洒水啦~ int floatFloat2Int(unsigned uf) {int w (uf 0x7FFFFF )| 0x800000;int j (uf 0x7F800000) 23;int f uf 0x80000000;int p j - 126;int y p - 24;if(!j || (p 0x80000000)){// 非规格化且为0 或者是太小的数return 0;}if(((p - 31) 31) 0){ // out rangereturn 0x80000000u;}if(y 0){//more than real result ,so require int ret w -y;if(f){return -ret;}return ret;}//normal operationreturn (w y) | f; }floatPower2 这个嘛~自行理解了更简单了 unsigned floatPower2(int x) {if(x -127){return 0;}if(x 128){return 0x7f800000;}return (x 127) 23; }总结 写完啦这俩天脑袋全是二进制数了倒是对我的算法上使用这些位操作更熟练了也同时理解了之前没学到位的浮点数。 日常写完去看看别人怎么写的一看撕~我擦看不懂全是符号巴拉巴拉的遂放弃写此篇。 过俩天学完下一章就开始下一个lab咯
http://wiki.neutronadmin.com/news/256173/

相关文章:

  • 济南网站建设费用网站建设技术参数
  • 品牌网站建设權威大蝌蚪1元购网站建设
  • 网站开发及设计宁波建工工程集团有限公司
  • 做ppt图片用的网站有哪些公司网站的推广方案
  • 怎么用PHP做网站留言板画网站 模板
  • 网站维护中是什么意思静态网页设计心得体会
  • 青岛网站建设收费哪个平台好网站建设都包含哪些内容
  • 医院网站站群建设网站建设通俗讲
  • 网站界面设计的发展网站建设的整个流程
  • 做网站建设公司哪家好?网站开发需求模板
  • 深圳精美网站设计asp做的网站缺点
  • 佛山企业如何建网站唐山网页设计
  • 佛山网站建设在哪广州市公司网站建设报价
  • 做区块链在哪个网站微信小程序可视化编辑器免费
  • 网站仿静态和静态的区别怎么注册公司需要什么条件
  • 亳州电商网站建设wordpress 邀请码
  • 网站营销推广有哪些实木复合门网站建设价格
  • hqz行情站深圳网站制作哪家便宜
  • 表格如何给网站做链接地址购物网站seo搜索引擎前期分析
  • 使用织梦系统建设网站教程wordpress注册邮件设置密码
  • 网站的布局和配色建设景区网站推文
  • 那个可以做棋牌网站企业网站建设需要做哪些工作
  • 丰都网站建设搭建wordpress靶机
  • 做qq空间的网站湖北建设厅考试网站
  • 网站环境搭建教程大淘客网站代码
  • 自己的电脑做服务器 并建网站网站后台登陆不了
  • 做网站属于广告费吗百度收录最新方法
  • 茶叶网站策划书网站备份流程
  • 北京网站优化怎么样虚拟展馆官方网站建设
  • 肃宁网站建设价格教程seo推广排名网站