本篇文章為大家展示了如何只用位操作在ABAP里實現(xiàn)a+b,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司長期為上1000+客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為新興企業(yè)提供專業(yè)的成都網站制作、網站建設,新興網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
實現(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.
上述內容就是如何只用位操作在ABAP里實現(xiàn)a+b,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網頁標題:如何只用位操作在ABAP里實現(xiàn)a+b
文章源于:http://www.chinadenli.net/article26/peihjg.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供做網站、電子商務、營銷型網站建設、企業(yè)網站制作、網站排名、網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)