Transfert de données vers des fichiers BASIC aléatoire

Lorsque vous créez un fichier BASIC aléatoire, les données système changent comme suit :
  • Les champs hexadécimaux ne changent pas.
  • La modification à partir d'un champ binaire système dépend de la longueur du champ :
    • Les champs de 2 octets, sans position décimale à droite du point décimal, sont remplacés par des valeurs BASIC entier de 2 octets. Le seul changement est que l'ordre des octets est inversé.
    • Les champs de 2 octets, avec des positions décimales à droite du point décimal, se transforment en nombres BASIC à précision simple.
    • Les champs de 4 octets deviennent des nombres BASIC à précision double.
  • Les champs de caractères EBCDIC, de date, d'heure et d'horodatage changent octet par octet et sont mappés en caractères ASCII tels que définis par les tables de traduction.
  • Les champs de longueur variable et Null sont convertis en longueurs fixes, et des espaces de fin (pour les données de caractères, hexadécimales, de date, d'heure et d'horodatage) ou des zéros (pour les données binaires, étendues et condensées) sont ajoutés à la longueur maximale de le champ.
  • Les champs décimaux étendus se transforment en l'une des variables BASIC suivantes en fonction de la longueur du champ et du nombre de positions décimales :
    • Les champs décimaux étendus de 4 octets ou moins sans position à droite du point décimal se transforment en un BASIC entier d'une valeur équivalente.

      Un champ décimal étendu de 4 octets ou moins, mais avec un point décimal, entre dans la catégorie suivante.

    • Les champs décimaux étendus jusqu'à 7 octets (y compris ceux qui n'appartiennent pas à la catégorie précédente) se transforment en un nombre BASIC à précision simple d'une valeur équivalente.
    • Les champs décimaux étendus supérieurs à 7 octets se transforment en un nombre BASIC à précision double d'une valeur équivalente.
  • Les champs décimaux condensés se transforment en l'une des variables BASIC suivantes en fonction de la longueur du champ :
    • Les champs décimaux condensés de 2 octets ou moins sans position à droite du point décimal se transforment en un BASIC entier d'une valeur équivalente.

      Un champ décimal condensé de 2 octets ou moins, mais avec un point décimal, entre dans la catégorie suivante (jusqu'à 4 octets).

    • Les champs décimaux condensés allant jusqu'à 4 octets (y compris ceux qui n'appartiennent pas à la catégorie précédente) se transforment en un nombre BASIC à précision simple d'une valeur équivalente.
    • Les champs décimaux condensés supérieurs à 4 octets se transforment en un nombre BASIC à précision double d'une valeur équivalente.
    Note : Les changements entre les nombres binaires, décimaux condensés et décimaux étendus avec points décimaux ne sont pas équivalents à leurs homologues BASIC numérique, car BASIC utilise un format de nombre binaire qui ne se transforme pas toujours en fractions décimales exactes.