HPlogo MPE/iX Intrinsics Reference Manual > Chapter 4 Command Definitions (ABORTSESS - FCLOSE)

DASCII

MPE documents

Complete PDF
Table of Contents
Index

Edition 7 E0701 ♥
Edition 7 E0300
Edition 6 E0195

NM and CM callable.

Converts a 32-bit binary number to a specified base and represents it as a numeric ASCII string.

Syntax



  I16                I32V      I16V  CA
  numchar := DASCII (binvalue, base, asciieqv);

Functional Return


numchar

16-bit signed integer (assigned functional return)

Returns the number of characters in the resulting string.

Parameters


binvalue

32-bit signed integer by value (required)

Contains the binary number to be converted to an ASCII string.

base

16-bit signed integer by value (required)

Contains one of the following translation identifiers:

If any other number is entered in this parameter, the intrinsic causes the process to abort.

ValueMeaning
8Convert to octal (pad with zeros)
10Convert to decimal (left-justified)
-10Convert to decimal (right-justified)
16Convert to hexadecimal (pad with zeros)

asciieqv

character array (required)

Returns the converted value. Must be long enough to contain the result (<= 11 characters).

  • For octal conversions (base=8), 11 characters (including leading zeros) are returned; numchar returns the number of significant (right-justified) characters (excluding leading zeros). If binvalue=0, the length returned is 1.

  • For decimal conversions (base=10), binvalue is considered a 32-bit twos complement integer ranging from -2,147,483,648 to +2,147,483,647. If binvalue=0, only one zero character is returned in asciieqv; numchar returns the total number of characters (including the sign). For example, if binvalue=0, the length returned is 1.

  • For decimal right-justified conversions (base=-10), the result is right-justified in asciieqv; the least significant digit is in asciieqv(-1), the next least significant digit is in asciieqv(-2), and so on.

  • For right-justified conversions, the character array where the converted value is to be placed must specify the rightmost byte where data is placed. For example, if asciieqv is a 10 byte array declared as:

    
      VAR  MYSTRING : ARRAY [1..10] OF CHAR;
    
    
    then you must specify it in the ASCII intrinsic call as follows (for right justification):
    
      NUMCHAR := ASCII (VALUE, -10&, WADDRESS(MYSTRING[10]));
    
    
    The result is right-justified in asciieqv, with the rightmost digit of the result contained in the last (rightmost) byte of asciieqv.

  • For hexadecimal conversions (base=16), 8 characters (including leading zeros) are returned. The digits can be 0..9 and A..F. Numchar returns the number of significant (right-justified) characters (excluding leading zeros). For example, if binvalue=32, numchar is 2 and asciieqv will be 00000020.

Related Information


Intrinsics ASCII, BINARY, CTRANSLATE, DBINARY, HPFPCONVERT
Manuals Data Types Conversion Programmer's Guide




CTRANSLATE


DATELINE