# Unigine.Bits32 Struct (CS) > **Notice:** The functions listed below are the members of the **Unigine.MathLib** namespace. ## Bits32 Class ### Members --- ## void Clear ( ) Clears the value by setting all components/elements to 0. ## bool Contains ( Bits32 v ) ### Arguments - *Bits32* **v** ### Return value Return value. ## bool Contains ( int v ) ### Arguments - *int* **v** ### Return value Return value. ## bool Contains ( uint v ) ### Arguments - *uint* **v** ### Return value Return value. ## Bits32 operator~ ( Bits32 v ) Bitwise negation. Produces a bitwise complement of its operand by reversing each bit. ### Arguments - *Bits32* **v** - Value. ## Bits32 operator<< ( Bits32 v0 , int v1 ) Bitwise left shift. ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## Bits32 operator>> ( Bits32 v0 , int v1 ) Bitwise right shift. ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## Bits32 operator& ( Bits32 v0 , Bits32 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits32* **v0** - First value. - *Bits32* **v1** - Second value. ## Bits32 operator& ( Bits32 v0 , uint v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits32* **v0** - First value. - *uint* **v1** - Second value. ## Bits32 operator& ( Bits32 v0 , int v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## uint operator& ( uint v0 , Bits32 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *uint* **v0** - First value. - *Bits32* **v1** - Second value. ## int operator& ( int v0 , Bits32 v1 ) Componentwise logical AND operation (conjunction). ### Arguments - *int* **v0** - First value. - *Bits32* **v1** - Second value. ## Bits32 operator| ( Bits32 v0 , Bits32 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits32* **v0** - First value. - *Bits32* **v1** - Second value. ## Bits32 operator| ( Bits32 v0 , uint v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits32* **v0** - First value. - *uint* **v1** - Second value. ## Bits32 operator| ( Bits32 v0 , int v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## uint operator| ( uint v0 , Bits32 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *uint* **v0** - First value. - *Bits32* **v1** - Second value. ## int operator| ( int v0 , Bits32 v1 ) Componentwise logical OR operation (disjunction). ### Arguments - *int* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator== ( Bits32 v0 , Bits32 v1 ) Performs equal comparison. ### Arguments - *Bits32* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator== ( int v0 , Bits32 v1 ) Performs equal comparison. ### Arguments - *int* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator== ( uint v0 , Bits32 v1 ) Performs equal comparison. ### Arguments - *uint* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator== ( Bits32 v0 , int v1 ) Performs equal comparison. ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## bool operator== ( Bits32 v0 , uint v1 ) Performs equal comparison. ### Arguments - *Bits32* **v0** - First value. - *uint* **v1** - Second value. ## bool operator!= ( Bits32 v0 , Bits32 v1 ) Not equal comparison. ### Arguments - *Bits32* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator!= ( int v0 , Bits32 v1 ) Not equal comparison. ### Arguments - *int* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator!= ( uint v0 , Bits32 v1 ) Not equal comparison. ### Arguments - *uint* **v0** - First value. - *Bits32* **v1** - Second value. ## bool operator!= ( Bits32 v0 , int v1 ) Not equal comparison. ### Arguments - *Bits32* **v0** - First value. - *int* **v1** - Second value. ## bool operator!= ( Bits32 v0 , uint v1 ) Not equal comparison. ### Arguments - *Bits32* **v0** - First value. - *uint* **v1** - Second value. ## bool operatortrue ( Bits32 v ) Returns **true** if the operand is both, not **null** and not **NaN**. ### Arguments - *Bits32* **v** - Value. ## bool operatorfalse ( Bits32 v ) Returns **true** if the operand is both, **null** and **NaN**. ### Arguments - *Bits32* **v** - Value. ## IEnumerator GetEnumerator ( ) Returns an [**IEnumerator**](https://docs.microsoft.com/dotnet/api/system.collections.ienumerator?view=net-5.0) for the object. ### Return value Return value. ## IEnumerator GetEnumerator ( ) Returns an [**IEnumerator**](https://docs.microsoft.com/dotnet/api/system.collections.ienumerator?view=net-5.0) for the object. ### Return value Return value. ## bool Equals ( Bits32 other ) Checks if the vector and the specified argument are equal (epsilon). ### Arguments - *Bits32* **other** - Value to be checked for equality. ### Return value Return value. ## bool Equals ( object obj ) Checks if the vector and the specified argument are equal (epsilon). ### Arguments - *[object](../../../../api/library/objects/class.object_cs.md)* **obj** ### Return value Return value. ## Int32 GetHashCode ( ) Returns a hash code for the current object. Serves as the default hash function. ### Return value Return value. ## string ToString ( ) Converts the current value to a *string* value. ### Return value Resulting *string* value. ## string ToString ( IFormatProvider provider ) Converts the current value to a *string* value. ### Arguments - *IFormatProvider* **provider** ### Return value Resulting *string* value. ## string ToString ( string format ) Converts the current value to a *string* value. ### Arguments - *string* **format** - String formatting to be used. A format string is composed of zero or more ordinary characters (excluding %) that are copied directly to the result string and control sequences, each of which results in fetching its own parameter. Each control sequence consists of a percent sign (%) followed by one or more of these elements, in order: - An optional number, a width specifier, that says how many characters (minimum) this conversion should result in. - An optional precision specifier that says how many decimal digits should be displayed for floating-point numbers. - A type specifier that says what type the argument data should be treated as. Possible types: - **c**: the argument is treated as an integer and presented as a character with that ASCII value. - **d** or **i**: the argument is treated as an integer and presented as a (signed) decimal number. - **o**: the argument is treated as an integer and presented as an octal number. - **u**: the argument is treated as an integer and presented as an unsigned decimal number. - **x**: the argument is treated as an integer and presented as a hexadecimal number (with lower-case letters). - **X**: the argument is treated as an integer and presented as a hexadecimal number (with upper-case letters). - **f**: the argument is treated as a float and presented as a floating-point number. - **g**: the same as e or f, the shortest one is selected. - **G**: the same as E or F, the shortest one is selected. - **e**: the argument is treated as using the scientific notation with lower-case 'e' (e.g. 1.2e+2). - **E**: the argument is treated as using the scientific notation with upper-case 'E' (e.g. 1.2E+2). - **s**: the argument is treated as and presented as a string. - **p**: the argument is treated as and presented as a pointer address. - **%**: a literal percent character. No argument is required. ### Return value Resulting *string* value. ## string ToString ( string format , IFormatProvider provider ) Converts the current value to a *string* value. ### Arguments - *string* **format** - String formatting to be used. A format string is composed of zero or more ordinary characters (excluding %) that are copied directly to the result string and control sequences, each of which results in fetching its own parameter. Each control sequence consists of a percent sign (%) followed by one or more of these elements, in order: - An optional number, a width specifier, that says how many characters (minimum) this conversion should result in. - An optional precision specifier that says how many decimal digits should be displayed for floating-point numbers. - A type specifier that says what type the argument data should be treated as. Possible types: - **c**: the argument is treated as an integer and presented as a character with that ASCII value. - **d** or **i**: the argument is treated as an integer and presented as a (signed) decimal number. - **o**: the argument is treated as an integer and presented as an octal number. - **u**: the argument is treated as an integer and presented as an unsigned decimal number. - **x**: the argument is treated as an integer and presented as a hexadecimal number (with lower-case letters). - **X**: the argument is treated as an integer and presented as a hexadecimal number (with upper-case letters). - **f**: the argument is treated as a float and presented as a floating-point number. - **g**: the same as e or f, the shortest one is selected. - **G**: the same as E or F, the shortest one is selected. - **e**: the argument is treated as using the scientific notation with lower-case 'e' (e.g. 1.2e+2). - **E**: the argument is treated as using the scientific notation with upper-case 'E' (e.g. 1.2E+2). - **s**: the argument is treated as and presented as a string. - **p**: the argument is treated as and presented as a pointer address. - **%**: a literal percent character. No argument is required. - *IFormatProvider* **provider** ### Return value Resulting *string* value.