SAP ABAP 计算机只实现10与16进制的加减,这个相当于自己写一次36进制的加减

实现36进制加减的SAP ABAP代码
这篇博客展示了如何在SAP ABAP中实现36进制的加法和减法操作,通过循环和条件判断将10进制与16进制转换,并进行相应的计算。代码中包括了从字符到10进制、16进制的转换,以及结果的更新和格式化处理。
部署运行你感兴趣的模型镜像

计算机只实现10与16进制的加减,这个相当于自己写一次36进制的加减
代码放出来,
data result(5) type c value ‘1ZZZ0’. "待加数字

data r type i value 0.
data C1(1) type c.
data I1 type i.
data X1 type x.
data unit type i value 4. "注意此处需要与result长度保持一致
FIELD-SYMBOLS : TYPE X. "定义一个16进行的字段符号用于转化

DO 300000 TIMES.
perform add.
write :/ result.
ENDDO.

form add.
while r = 0 and unit >= 0.
C1 = result+unit(1).
if C1 >= ‘0’ and C1 <= ‘9’.
move c1 to i1.
endif.
if C1 >= ‘A’ and C1 <= ‘Z’.
ASSIGN C1 TO CASTING. " 字符串转16进
move to i1. " 16进转10进
i1 = i1 - 55 .
endif.
perform addcore using i1 changing r.
if r <= 9.
result+unit(1) = r.
endif.
if r > 9.
DATA: x(4) TYPE x .
Data: t8(8) type c.
Data: t4(4) type c.
r = r + 55. " 10 对应 字符 A "转化为16进制的 41 见ASCII码 65 (10进) 42 (16进)
ASSIGN r TO CASTING. " 10转化为16 进
move to t8.
t4 = t8+4(4).
CALL FUNCTION ‘CONVERSION_EXIT_ALPHA_INPUT’ " 补足前导0 要求为4个字符
EXPORTING
input = t4
IMPORTING
output = t4 .
x = t4.
FIELD-SYMBOLS .
ASSIGN x TO type ‘C’. " 16 转化为字符
result+unit(1) = +0(1).
endif.
unit = unit - 1 .
endwhile.
"初始化变量
r = 0.
unit = 4.
endform.

form addcore using a changing b.
b = a + 1 .
if b = 36.
b = 0.
endif.
endform.

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值