<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
    題目大意:
    如果整數大于0則輸出1;
    等于0則輸出0;
    小于0則輸出1;
    要求不能用任何形式的判斷語句。

    思路:
    設整數N,符號位可以通過如下宏得到:
    #define SIGN(N) (N>>(sizeof(N)*8-1)&0x01)
    那么如果N>0,符號位為0;
    如果N=0,符號位為0;
    N<0,符號位為1;
    這樣沒有辦法區分正數和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
    主站蜘蛛池模板: 七色永久性tv网站免费看| 一区在线免费观看| 国产精品免费观看| 亚洲资源在线视频| 亚洲毛片免费观看| 亚洲欧洲日本天天堂在线观看| 久久国产精品2020免费m3u8| 亚洲AV无码一区东京热| 久久精品国产免费一区| 亚洲短视频男人的影院| 国产高清不卡免费在线| 亚洲男人天堂2018av| 日本a级片免费看| 色www免费视频| 国产亚洲一区二区在线观看| 国产免费AV片在线观看| 亚洲第一精品电影网| 好男人看视频免费2019中文| 狼人大香伊蕉国产WWW亚洲| a级亚洲片精品久久久久久久| 永久免费AV无码网站国产| 亚洲综合一区二区| 免费看片免费播放| 国产三级在线免费观看| 亚洲综合自拍成人| 免费看的黄色大片| a国产成人免费视频| 亚洲综合一区无码精品| 日韩亚洲国产二区| 久久久久国产精品免费看| 国产精品亚洲一区二区麻豆| 在线观看亚洲精品福利片| 热re99久久6国产精品免费| 亚洲欧美国产日韩av野草社区| 亚洲毛片网址在线观看中文字幕| 中文字幕乱码系列免费| 亚洲中文字幕无码爆乳app| 狠狠综合久久综合88亚洲| 97人妻无码一区二区精品免费| 国产91成人精品亚洲精品| 亚洲一区二区在线视频|