gpt4 book ai didi

COBOL 关键字 REDEFINES

转载 作者:行者123 更新时间:2023-12-03 13:29:46 25 4
gpt4 key购买 nike

请问,COBOL中关键字REDEFINES的用法是什么?
我无法理解手册的定义。

下面的代码是什么意思?

 01 WS_CHARGE_TXT_8X                             PIC X(08) VALUE "10000000".  
01 WS_CHARGE_NUM_8 REDEFINES WS_CHARGE_TXT_8X.
05 WS_CHARGE_8 PIC 9(05)V9(03).

谢谢!

最佳答案

基本上,Redefines 重用了空格,因此在上面的示例中,WS_CHARGE_TXT_8XWS_CHARGE_8 将指向 相同的 内存块。这允许您以不同的方式查看内存块,在这种情况下,可以将变量视为文本 PIC X 和带符号的数字 PIC S9。变量名中的 -8X 到 -8 只是一种风格,表明该变量正在被重新转换为其他程序员的另一种类型或格式。

在上面的例子中

  • WS_CHARGE_TXT_8X 的值为
    “10000000”
  • WS_CHARGE_8 的值为
    10000.000。

  • 如果您将 123.456 移动到 WS_CHARGE_8 ,则 WS_CHARGE_TXT_8X "00123456" 的值。

    一个更有用的例子是
      03 Birth-Date-YYYYMMDD    pic 9(8).
    03 filler redefines Birth-Date-YYYYMMDD.
    05 Birth-Date-YYYY pic 9(4).
    05 Birth-Date-MM pic 99.
    05 Birth-Date-DD pic 99.

    在这种情况下,您可以单独访问 完整日期 Birth-Date-YYYYMMDD 年/月/日 等( 等 _0x1045679019 Birth-Date-YYYYMMDD)。

    关于COBOL 关键字 REDEFINES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5269899/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com