zoukankan      html  css  js  c++  java
  • 家庭作业(第二章、第三章)

    家庭作业(第二章3一题,2星两题;第三章1星两题,共9

    一、第二章

    ***2.66.写出代码实现如下函数int leftmost_one(unsigned x),函数遵循位级整数编码规则,假设数据类型int32位。代码最多只能包含15个算术运算、位运算和逻辑运算

    int leftmost_one(unsigned x)

    {

      if(x==0)

      {

        return x;

      }

      if(x>(1<<31))

      {

        return 0x80000000;

      }

      x|=(x>>1);

      x|=(x>>1);

      x|=(x>>1);

      x|=(x>>1);

      x|=(x>>1);

      x+=1;

      x=x>>1;

      return x;

    }

    **2.76.生成一段代码,将整数变量x乘以不同的常数因子K,为提高效率,只使用+-<<运算,对于下列K值写出执行乘法运算的C表达式,每个表达式中最多用3个运算

    A.K=5:  (x<<2)+x

    B.K=9:  (x<<3)+x

    C.K=30:  (x<<5)-(x<<1)

    D.K=-56:  (x<<3)-(x<<6)

    **2.82.一些数字的二进制表示是由形如0.yyyyy……的无穷串组成,y是一个k位的序列。例如1/3的二进制表示是0.010101……(y=01)

    A.设Y=B2Uk(y),这个数有二进制表示y。给出一个由Yk组成的公式表示这个无穷串的值  x=Y/(2^k-1)

    B.对于下列y值,串的数值是多少?

    (a)001  x=1/7

    (b)1001  x=3/5

    (c)000111  x=1/9

    二、第三章

    *3.54.一个函数的原型为int decode2(int x, int y, int z);

     

    int decode2(int x, int y, int z)
    {
        int k;
        z -= y; 
        k = z; 
        k<<= 15;
        k>>= 15;
        return  k*(z^x);
    }

    *3.69.

     

     

    long trace(tree_ptr tp)
    {
        long ret = 0;
        while(tp != NULL)
        {
            ret = tp->val;
            tp = tp->left;
        }
        return ret;
    }

    作用是从根一直遍历左子树,找到第一个没有左子树的节点的值。

  • 相关阅读:
    数据库事务查看
    在SQL中删除重复记录(多种方法)
    OO设计原则
    NHibernate开源框架Cuyahoga学习之权限映射
    链队列的实现
    二叉树的实现
    NHibernate.cfg.xml文件配置
    HQL查询实例
    对象枚举遍历实现二
    NHibernate开源框架Cuyahoga学习之数据访问泛型约束的实现
  • 原文地址:https://www.cnblogs.com/20135228guoyao/p/4891523.html
Copyright © 2011-2022 走看看