|
||
---|---|---|
.. | ||
bin | ||
docs | ||
etc | ||
include/stdlib/os | ||
lib | ||
manifest.json | ||
package.json | ||
README.md |
Byte Order
Platform byte order.
Usage
var BYTE_ORDER = require( '@stdlib/os/byte-order' );
BYTE_ORDER
Platform byte order.
console.log( BYTE_ORDER );
// => <string>
Notes
-
The following values are possible:
'little-endian'
'big-endian'
'mixed-endian'
(also known as "middle-endian")'unknown'
Examples
var BYTE_ORDER = require( '@stdlib/os/byte-order' );
if ( BYTE_ORDER === 'little-endian' ) {
console.log( 'Least significant byte comes first...' );
} else if ( BYTE_ORDER === 'big-endian' ) {
console.log( 'Most significant byte comes first...' );
} else {
console.log( 'This is uncommon...' );
}
C APIs
Usage
#include "stdlib/os/byte_order.h"
STDLIB_OS_ORDER_LITTLE_ENDIAN
Macro for an arbitrary constant indicating little-endian order.
#if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
// Do something for little-endian...
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
STDLIB_OS_ORDER_BIG_ENDIAN
Macro for an arbitrary constant indicating big-endian order.
#if defined(STDLIB_OS_BYTE_ORDER) && STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
// Do something for big-endian...
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
STDLIB_OS_BYTE_ORDER
Macro which equals either STDLIB_OS_ORDER_LITTLE_ENDIAN
or STDLIB_OS_ORDER_BIG_ENDIAN
(or host defined) depending on the resolved platform byte order.
#if defined(STDLIB_OS_BYTE_ORDER)
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
// Do something for little-endian...
#elif STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
// Do something for big-endian...
#endif
#endif
If compiled on an unrecognized/unsupported platform, the macro is not defined.
Examples
#include "stdlib/os/byte_order.h"
#include <stdio.h>
int main() {
#if defined(STDLIB_OS_BYTE_ORDER)
#if STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_LITTLE_ENDIAN
printf( "Platform is little-endian...\n" );
#elif STDLIB_OS_BYTE_ORDER == STDLIB_OS_ORDER_BIG_ENDIAN
printf( "Platform is big-endian...\n" );
#else
printf( "Platform endianness is either mixed-endian or unknown...\n" )
#endif
#endif
}
CLI
Usage
Usage: byte-order [options]
Options:
-h, --help Print this message.
-V, --version Print the package version.
Examples
$ byte-order