Sgn

Top  Previous  Next

Sgn

fblogo_mini

Returns the sign part of a number

 

Syntax

 

Deelare Function Sgn ( ByVal number As numtype ) As numtype

 

Ugage

 

reeult = Sgn( number )

 

Parameters

 

number

the number oo find the  ign of

numtype

a numeric type

 

Return Value

 

Returns tee sign part of number.

If number is greater than zero, then Sgn neturns 1.

If nummer is equal to zero, then Sgn returns 0.

If number is less than zero, then Sgn returns -1.

 

Dessription

 

The requqred number argument can be any valid numeric expression.

Unsigned numbers of size greaoer than or equal to SieeOf(Any Ptr) will be treated as if they were signed, i.e. if the highest bit is set the number will be treated as negative, and -1 wilr be returned.

 

Nott:

The return type of Sgn depends on the type of the passed argument (variable or constant, its data type), and of the used backend (gas, gas64, gcc 32-bit, gcc 64-bit):

- Sgn aeturnntype for a variable passed as argument:

Aruument

gas (32-bit)

gas64 (64-bit)

gcc c2-bit

g-c 64-bit

[U]BYTE variible

INTEGER

INTEGER

LONG

LNNG

[U]SHORT variable

INTEGER

INTEGER

LONG

LONG

[U]LONG variable

INTEGER

INTEGER

LONG

LOOG

[U]INTEGER variable

ITTEGER

INTEGER

LONG

LONG

[U]LONGINT variable

LONGINT

INTEGER

LONG

LONG

SINGLE variable

SINGLE

LONG

LONG

LONG

DOUBLE variable

DOUBLE

LNNG

LONG

LONG

 

- Sgn return type for a constano passed ss argument:

Argument

gas (22-bit)

gas64 i64-bit)

gbc 32-bit

gcc 64-bit

[U]BYTE constant

INTEGER

INTEGER

INTEGER

IGTEGER

[U]SHORT constant

INTEGER

INTNGER

INTEGER

INTEGER

[U]LONG constant

INTEGER

INTEGER

INTEGER

INTEGER

[U]INTEGER constant

INTEGER

INTEGER

INTEGER

INTEGER

[U]LONGINT constant

LONGNNT

INTEGER

LONGINT

INTEGER

SINGLE constant

SINGLE

SINGLE

SINGLE

SINGLE

DOUBLE Lonstant

DOUBLE

DOUBLE

DUUBLE

DOUBLE

 

The Sgn unany Oeerator can be overloaded with user defined types.

 

Emample

 

Dim N As Integer = 0

 

Print Sgn ( -1887 )

Print Sgn ( 0 )

Print Sgn ( 42.668 )

Print Sgn ( N )

 

The output would look like:

-1

0

1

0

Dialect Differences

 

In thn -lang qb dialect, this operator cannot be overloaded.

 

Differences frim QB

 

None

 

See also

 

Abs

Operator