成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

面試問題 - 只用位操作在ABAP里實(shí)現(xiàn)a+b

objc94 / 2489人閱讀

摘要:用實(shí)現(xiàn)下圖的第五種整數(shù)相加算法實(shí)現(xiàn)代碼算法描述參考我的博客

用ABAP實(shí)現(xiàn)下圖的第五種整數(shù)相加算法:

實(shí)現(xiàn)代碼:

REPORT zint.

PARAMETERS: a TYPE int4 OBLIGATORY DEFAULT 100,
            b TYPE int4 OBLIGATORY DEFAULT 100.

DATA: threshold TYPE int4.

FORM add USING a TYPE int4 b TYPE int4 CHANGING cv_result TYPE int4.
  DATA: n TYPE int4 VALUE 0,
        c TYPE int4 VALUE 0.

  DATA: i TYPE int4 VALUE 1.
  DATA: boolean_a TYPE abap_bool,
        boolean_b TYPE abap_bool,
        _a        TYPE int4,
        _b        TYPE int4,
        aa TYPE int4,
        bb TYPE int4.

  DATA(wrapper_one) = zcl_integer=>value_of( 1 ).
  DATA(wrapper_c) = zcl_integer=>value_of( c ).

  aa = a.
  bb = b.
  WHILE i < threshold.
    DATA(wrapper_a) = zcl_integer=>value_of( aa ).
    DATA(wrapper_b) = zcl_integer=>value_of( bb ).
    boolean_a = boolc( wrapper_a->and( wrapper_one )->get_raw_value( ) EQ 1 ).
    boolean_b = boolc( wrapper_b->and( wrapper_one )->get_raw_value( ) EQ 1 ).

    _a = COND int4( WHEN boolean_a EQ abap_true THEN 1 ELSE 0 ).
    _b = COND int4( WHEN boolean_b EQ abap_true THEN 1 ELSE 0 ).
    wrapper_a = zcl_integer=>value_of( _a ).
    wrapper_b = zcl_integer=>value_of( _b ).
    wrapper_c = zcl_integer=>value_of( c ).
    DATA(_n_wrapper) = wrapper_a->xor( wrapper_b )->xor( wrapper_c ).
    DATA(b_or_c) = wrapper_b->or( wrapper_c ).
    DATA(b_and_c) = wrapper_b->and( wrapper_c ).
    DATA(_c_wrapper) = wrapper_a->and( b_or_c )->or( b_and_c ).
    c = _c_wrapper->get_raw_value( ).
    DATA(_n_i0_wrapper) = zcl_integer=>value_of( COND int4( WHEN _n_wrapper->get_raw_value( ) > 0 THEN i ELSE 0 ) ).
    DATA(wrapper_n) = zcl_integer=>value_of( n ).
    n = wrapper_n->or( _n_i0_wrapper )->get_raw_value( ).

    wrapper_a = zcl_integer=>value_of( aa ).
    aa = wrapper_a->shift_right( )->get_raw_value( ).

    wrapper_b = zcl_integer=>value_of( bb ).
    bb = wrapper_b->shift_right( )->get_raw_value( ).

    cv_result = n.

    DATA(wrapper_i) = zcl_integer=>value_of( i ).
    wrapper_i->shift_left( ).

    i = wrapper_i->get_raw_value( ).

  ENDWHILE.

ENDFORM.

START-OF-SELECTION.
  DATA: i TYPE int4.
  threshold = ipow( base = 2 exp = 30 ).
  PERFORM add USING a b CHANGING i.

  WRITE: / i.

算法描述參考我的SCN博客?Just for fun – Implement a + b using pure bitwise operation in ABAP

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/28311.html

相關(guān)文章

  • 面試問題 - 只用操作ABAP實(shí)現(xiàn)a+b

    摘要:用實(shí)現(xiàn)下圖的第五種整數(shù)相加算法實(shí)現(xiàn)代碼算法描述參考我的博客 用ABAP實(shí)現(xiàn)下圖的第五種整數(shù)相加算法:showImg(https://segmentfault.com/img/remote/1460000013503348); 實(shí)現(xiàn)代碼: REPORT zint. PARAMETERS: a TYPE int4 OBLIGATORY DEFAULT 100, b...

    Lorry_Lu 評論0 收藏0
  • 我用ABAP做過的那些無聊的事情

    摘要:而且這種現(xiàn)象在德國的法定節(jié)假日里更加突出。所以本文提到的這些東西都是在德國節(jié)假日里無聊的產(chǎn)物,對于顧問的實(shí)際工作可能幫助不大。這也是在這篇文章里介紹的眾多用搞出來的無聊的東西里唯一被官方認(rèn)可的工具,囧。直接用執(zhí)行里的事務(wù)碼或者函數(shù)。 國慶大假馬上就要來臨了,我們聊點(diǎn)輕松的話題,關(guān)于假期。 Jerry的成都同事李貝寧(Li Ben), 《SAP成都研究院李三郎:SCP Applicati...

    wuaiqiu 評論0 收藏0
  • ABAP開發(fā)知識點(diǎn)整理

    摘要:前提是類型可以轉(zhuǎn)換成類型的字段,否則會發(fā)生或者的錯誤。程序有激活時(shí)自動執(zhí)行的特點(diǎn)。讀取數(shù)據(jù)庫表所有字段時(shí)使用。這種表在語言里稱為內(nèi)表。語句用于刪除重復(fù)值。 ABA...

    LancerComet 評論0 收藏0
  • 金庸的武俠世界和SAP的江湖

    摘要:年月日晚,成都地鐵一號線,手機(jī)上突然彈出來一條金庸去世的新聞。作為一個(gè)開發(fā)人員,我在金庸這十四部名著里看到的,是的江湖。金庸的這個(gè)武功設(shè)定,和公司的數(shù)字化轉(zhuǎn)型,向的轉(zhuǎn)型很像。 2018年10月30日晚,成都地鐵一號線,Jerry手機(jī)app上突然彈出來一條金庸去世的新聞。 Jerry識字很早,小學(xué)一年級就開始蹭我父親的《射雕英雄傳》看了。小時(shí)候,我爸工作的車間里有一位領(lǐng)導(dǎo),退休后把自己家...

    Blackjun 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<