<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 134,comments - 22,trackbacks - 0
    題目大意:
    如果整數(shù)大于0則輸出1;
    等于0則輸出0;
    小于0則輸出1;
    要求不能用任何形式的判斷語句。

    思路:
    設(shè)整數(shù)N,符號位可以通過如下宏得到:
    #define SIGN(N) (N>>(sizeof(N)*8-1)&0x01)
    那么如果N>0,符號位為0;
    如果N=0,符號位為0;
    N<0,符號位為1;
    這樣沒有辦法區(qū)分正數(shù)和0!

    如果N>0,N和N-1的符號位之和為0;
    N=0,N和N-1的符號位之和為1
    N<0,N和N-1的符號位之和為2
    這樣可以通過查表得到輸出了。

     1#include <stdio.h>
     2
     3//取得符號位
     4#define SIGN(N) (N>>(sizeof(N)*8-1)&0x01)
     5
     6int T[]={1,0,-1};
     7
     8int sign(int x)
     9{
    10    int index1=SIGN(x);
    11    int index2=SIGN(x-1);
    12    return T[index1+index2];
    13}

    14int main()
    15{
    16    int x=-0;
    17
    18    printf("%d\n",sign(x));
    19
    20    return 0;
    21}

    posted on 2010-06-01 20:07 何克勤 閱讀(275) 評論(0)  編輯  收藏 所屬分類: C/C++ 、Algorithm and Data Structure
    主站蜘蛛池模板: 亚洲精品在线免费观看| 成年女人色毛片免费看| 亚洲国产日韩在线成人蜜芽| 啦啦啦手机完整免费高清观看| 特级毛片A级毛片免费播放| 久久亚洲综合色一区二区三区 | 亚洲精品色在线网站| 亚洲精品无码久久久久去q| 中文字幕人成无码免费视频| 色吊丝性永久免费看码| 亚洲美女视频网站| 四虎免费久久影院| 无码区日韩特区永久免费系列| 午夜在线亚洲男人午在线| 亚洲天堂福利视频| 超清首页国产亚洲丝袜| 在线视频免费观看www动漫| 日本免费中文字幕| 一级做a爰片久久免费| 亚洲国产日韩视频观看| 亚洲第一精品在线视频| 亚洲A∨精品一区二区三区| 999国内精品永久免费视频| 久久久WWW免费人成精品| 亚洲AV成人无码网站| 亚洲欧洲日韩在线电影| 亚洲宅男天堂在线观看无病毒| 女人18特级一级毛片免费视频| 日韩av无码久久精品免费| 本道天堂成在人线av无码免费| 亚洲性色精品一区二区在线| 亚洲精品国产成人| 亚洲Av永久无码精品三区在线 | 国产aⅴ无码专区亚洲av麻豆 | 久久国产精品免费看| 免费一级毛suv好看的国产网站 | 亚洲国产精品美女| 亚洲国产成人高清在线观看| 精品亚洲视频在线观看| 四虎国产精品免费久久影院| 午夜免费福利影院|