Podepsané předražení - Signed overpunch - Wikipedia
![]() | tento článek potřebuje další citace pro ověření.Březen 2008) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
A podepsané předražení je kód používaný k uložení souboru podepsat čísla změnou poslední číslice. Používá se ve znakových datech na sálových počítačích IBM v jazycích, jako je COBOL, PL / I., a RPG.[1] Jeho účelem je uložit znak, který by jinak byla použita znakovou číslicí.[2] Kód je odvozen z Kód děrované karty Hollerith, kde lze do stejného sloupce karty zadat číslici i znaménko. Říká se tomu overpunch, protože číslice v tomto sloupci má nad sebou 12-punč nebo 11-punč, který označuje znaménko. Volá se znaková data, která mohou obsahovat přetečení pásmový desítkový.
The BALÍČEK
instrukce na Architektura IBM System / 360 stroje při převodu na převádějí znaménko zónového desetinného čísla zabaleno desítkově a odpovídající UNPK
instrukce nastaví správné překlopené znaménko svého zónového desetinného výstupu.[3]
Jazyková podpora
PL / I.
PL / I používá OBRÁZEK
atribut pro deklaraci zónovaných desetinných dat s podepsaným přesahem. Každý znak na číselném obrázku kromě PROTI
, který označuje pozici předpokládané desetinné čárky, představuje číslici. Obrázková postava T
, Já
nebo R
označuje pozici číslice, která může obsahovat přesah. T
označuje, že pozice bude obsahovat {–I, pokud je kladná, a} –R, pokud je záporná. Já
označuje, že pozice bude obsahovat {–I, pokud je kladná, a 0-9, pokud je záporná. R
označuje, že pozice bude obsahovat 0–9, pokud je kladná, a} –R, pokud je záporná.
Například OBRÁZEK 'Z99R'
popisuje čtyřmístné číselné pole. První pozice může být prázdná nebo bude obsahovat číslici 0–9. Další dvě pozice budou obsahovat číslice a čtvrtá pozice bude obsahovat 0–9 pro kladné číslo a} –R pro záporné.[4]
Přiřazením hodnoty 1021 výše uvedenému obrázku uložíte znaky „1021“ do paměti; přiřazení -1021 uloží „102J“.
COBOL
COBOL používá pro obrazový znak „S“ POUŽITÍ JE DISPLEJ
data bez ZNAMENÍ JE SAMOSTATNÝ CHARAKTER
k označení přetlaku. PODPIS JE VEDENÍ
značí, že je překrytí přes první znak pole, výchozí, PŘIHLÁŠENÍ JE PŘÍVĚS
, vyhledá jej nad posledním znakem. PŘIHLÁŠENÍ JE PŘÍVĚSNÉ
je výchozí.[5]
C / C ++
Jazyk C nemá žádné ustanovení pro pásmová desetinná místa. Kompilátor IBM ILE C / C ++ pro System i poskytuje funkce pro převod mezi int
nebo dvojnásobek
a pásmové desetinné číslo:[6]
- QXXDTOZ () - Převede dvojité na pásmová desetinná místa
- QXXITOZ () - Převede celé číslo na zónové desetinné číslo
- QXXZTOD () - Převést Zoned Decimal na Double
- QXXZTOI () - Převést Zoned Decimal na Integer
Kódy
EBCDIC charakter | Číslice | Podepsat | Kód karty[7] |
---|---|---|---|
{ | 0 | + | 12-0 |
A | 1 | + | 12-1 |
B | 2 | + | 12-2 |
C | 3 | + | 12-3 |
D | 4 | + | 12-4 |
E | 5 | + | 12-5 |
F | 6 | + | 12-6 |
G | 7 | + | 12-7 |
H | 8 | + | 12-8 |
Já | 9 | + | 12-9 |
} | 0 | - | 11-0 |
J | 1 | - | 11-1 |
K. | 2 | - | 11-2 |
L | 3 | - | 11-3 |
M | 4 | - | 11-4 |
N | 5 | - | 11-5 |
Ó | 6 | - | 11-6 |
P | 7 | - | 11-7 |
Q | 8 | - | 11-8 |
R | 9 | - | 11-9 |
Příklady
10} je -100
45A je 451
Desetinná místa jsou obvykle implicitní a nejsou výslovně uvedena v textu. Použití čísel se dvěma desetinnými místy:
1000} je -100,00
ASCII reprezentace
COBOL reprezentace podepsaných znaků overpunch „není v ASCII standardizována a různé překladače používají různé kódy overpunch.“ Ve většině případů „reprezentace není stejná jako výsledek převodu pole podepsaného EBCDIC na ASCII s překladovou tabulkou.“[8] Překladače PL / I v systémech ASCII používají k reprezentaci přeplnění stejnou sadu znaků jako v EBCDIC.
Reference
- ^ IBM Corporation (červen 1994). Reference RPG / 400 (PDF). p. 403. Citováno 7. srpna 2018.
- ^ „Tech Talk, COBOL Tutorials, EBCDIC to ASCII Conversion of Signed Fields“. Citováno 2008-03-15.
- ^ IBM Corporation (říjen 2001). z / Architektonické principy fungování (2. vyd.). s. 7–112, 7–158. Citováno 7. srpna 2018.
- ^ IBM Corporation (červen 1995). IBM PL / I pro MVS a VM Language Reference (PDF). str. 294–296. Citováno 2. srpna 2018.
- ^ IBM Corporation. „Enterprise COBOL pro z / OS, V4.2, jazyková reference“. IBM Knowledge Center. Citováno 1.května, 2020.
- ^ IBM Corporation. "Funkce knihovny". IBM Knowkedge Center. Citováno 1.května, 2020.
- ^ IBM Corporation (1989). Souhrn referencí k rozšířené architektuře systému / 370. p. 41.
- ^ „Převod podepsaných polí na EBCDIC na ASCII“. Specialisté na převod médií DISC. Citováno 29. listopadu 2018.