Positron Compiler Documentation

Dig

Source: Positron8 Compiler User Manual, PDF page 328

Syntax

Variable = Dig Value, DigitNumber

Overview

Returns the value of a decimal digit.

Parameters

Value is an unsigned constant, 8-bit, 16-bit, 32-bit integer variable or expression, from which the DigitNumber is to be extracted. DigitNumber is a constant, variable, or expression that represents the digit to extract from Value. (0 - 9 with 0 being the rightmost digit).

Example 1

Device = 18F25K20
                                ' Select the device to use
Declare Xtal = 16
                                ' Set its frequency
Declare Hserial_Baud = 9600
                                ' Set the Baud rate for the HRsoutLn command
Dim MyValue as Byte
Dim MyDigit as Byte
MyValue = 124
MyDigit = Dig MyValue, 1
                                ' Extract the second digit's value
HRsoutLn Dec MyDigit
                                ' Transmit the value, which is 2

Example 2

  Device = 18F25K20
                                  ' Select the device to use
  Declare Xtal = 16
                                  ' Set its frequency
  Declare Hserial_Baud = 9600
                                  ' Set the Baud rate for the HRsoutLn command
  Dim MyWord As Word = 1234
  Dim MyDigit0 As Byte
  Dim MyDigit1 As Byte
  Dim MyDigit2 As Byte
  Dim MyDigit3 As Byte
'
' Extract the separate digits from a variable
'
  MyDigit0 = Dig MyWord, 0 ' Extract the first digit (right to left)
  MyDigit1 = Dig MyWord, 1 ' Extract the second digit (right to left)
  MyDigit2 = Dig MyWord, 2 ' Extract the third digit (right to left)
  MyDigit3 = Dig MyWord, 3 ' Extract the fourth digit (right to left)
  HRsoutLn "Raw Digit 3 = ", Dec MyDigit3
  HRsoutLn "Raw Digit 2 = ", Dec MyDigit2
  HRsoutLn "Raw Digit 1 = ", Dec MyDigit1
  HRsoutLn "Raw Digit 0 = ", Dec MyDigit0
'
' Convert the digits to ASCII by adding 48
'
  Inc MyDigit0, 48
  Inc MyDigit1, 48
  Inc MyDigit2, 48
  Inc MyDigit3, 48
  HRsoutLn "ASCII Digit 3 = ", MyDigit3
  HRsoutLn "ASCII Digit 2 = ", MyDigit2
  HRsoutLn "ASCII Digit 1 = ", MyDigit1
  HRsoutLn "ASCII Digit 0 = ", MyDigit0