Subject: | |
From: | |
Reply To: | |
Date: | Sat, 31 May 2008 20:06:27 -0400 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Here's what I figured out with the ORD function:
A = +0066
B = +0067
C = +0068
D = +0069
E = +0070
F = +0071
G = +0072
H = +0073
I = +0074
J = +0075
K = +0076
L = +0077
M = +0078
N = +0079
O = +0080
P = +0081
Q = +0082
R = +0083
S = +0084
T = +0085
U = +0086
V = +0087
W = +0088
X = +0089
Y = +0090
Z = +0091
---------------------------------
a = +0098
b = +0099
c = +0100
d = +0101
e = +0102
f = +0103
g = +0104
h = +0105
i = +0106
j = +0107
k = +0108
l = +0109
m = +0110
n = +0111
o = +0112
p = +0113
q = +0114
r = +0115
s = +0116
t = +0117
u = +0118
v = +0119
w = +0120
x = +0121
y = +0122
z = +0123
---------------------------------
0 = +0049
1 = +0050
2 = +0051
3 = +0052
4 = +0053
5 = +0054
6 = +0055
7 = +0056
8 = +0057
9 = +0058
Easy to write a quickie program to do the above.
However, it beats me why anyone would need to know this seemingly useless
information. There are apps out there that would need to know this? :-)
Here is the Cobol source to give you the above:
IDENTIFICATION DIVISION.
PROGRAM-ID. ORDINALFUNCTION.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. CONDITION-CODE IS C-C.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-ALPHA-TABLE.
05 FILLER PIC X(26) VALUE
"ABCDEFGHIJKLMNOPQRSTUVWXYZ".
01 WS-ALPHA-TABEL REDEFINES
WS-ALPHA-TABLE.
05 WS-AT PIC X(01) OCCURS 26.
01 WS-ALPHA-TABLE-2.
05 FILLER PIC X(26) VALUE
"abcdefghijklmnopqrstuvwxyz".
01 WS-ALPHA-TABEL-2 REDEFINES
WS-ALPHA-TABLE-2.
05 WS-AT-2 PIC X(01) OCCURS 26.
01 WS-AT-LENGTH PIC S9(04) COMP VALUE ZEROES.
01 WS-ORD-NUM PIC S9(04) COMP VALUE ZEROES.
01 WS-SUB PIC S9(04) COMP VALUE ZEROES.
PROCEDURE DIVISION.
A000-MAINLINE.
COMPUTE WS-AT-LENGTH = FUNCTION LENGTH(WS-ALPHA-TABLE)
PERFORM VARYING WS-SUB FROM 1 BY 1
UNTIL WS-SUB > WS-AT-LENGTH
COMPUTE WS-ORD-NUM = FUNCTION ORD(WS-AT (WS-SUB))
DISPLAY WS-AT (WS-SUB) " = " WS-ORD-NUM
END-PERFORM
DISPLAY "---------------------------------".
PERFORM VARYING WS-SUB FROM 1 BY 1
UNTIL WS-SUB > WS-AT-LENGTH
COMPUTE WS-ORD-NUM = FUNCTION ORD(WS-AT-2 (WS-SUB))
DISPLAY WS-AT-2 (WS-SUB) " = " WS-ORD-NUM
END-PERFORM
DISPLAY "---------------------------------".
COMPUTE WS-ORD-NUM = FUNCTION ORD("0")
DISPLAY "0 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("1")
DISPLAY "1 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("2")
DISPLAY "2 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("3")
DISPLAY "3 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("4")
DISPLAY "4 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("5")
DISPLAY "5 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("6")
DISPLAY "6 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("7")
DISPLAY "7 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("8")
DISPLAY "8 = " WS-ORD-NUM
COMPUTE WS-ORD-NUM = FUNCTION ORD("9")
DISPLAY "9 = " WS-ORD-NUM
STOP RUN.
HTH,
Brian Donaldson.
On Fri, 30 May 2008 05:48:04 -0400, ianne <[log in to unmask]>
wrote:
>Hi everyone,
>
>In a COBOL program, if I have this line:
> compute var = function ord(<certain char>) - 161
>what does it actually compute?
>
>Also, if you happen to know too. Given that's how to compute a certain
>character (above equation), would you know the range of integer of control
>characters? Or even just the ordinal position of all control characters
[function
>ord()]?
>
>Thanks a lot! =)
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|
|
|