AI-generated Key Takeaways
-
number.byte()
casts the input number to an unsigned 8-bit integer, resulting in a value within the range of 0 to 255. -
Numbers exceeding the maximum value of 255 will be truncated to 255, while numbers below 0 will be set to 0.
-
When casting floating-point numbers, the decimal portion is lost, resulting in the nearest integer within the byte range.
Usage | Returns |
---|---|
Number.byte() | Number |
Argument | Type | Details |
---|---|---|
this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// Cast a number to unsigned 8-bit integer: [0, 255]. var number = ee.Number(100); print('Number:', number); var byteNumber = number.byte(); print('Number cast to byte:', byteNumber); /** * Casting numbers to byte that are outside of its range and precision can * modify the resulting value, note the behavior of the following scenarios. */ // A floating point number cast to byte loses decimal precision. var float = ee.Number(1.7); print('Floating point value:', float); var floatToByte = float.byte(); print('Floating point value cast to byte:', floatToByte); // A number greater than byte range max cast to byte becomes byte range max. var BYTE_MAX = 255; var outOfRangeHi = ee.Number(BYTE_MAX + 12345); print('Greater than byte max:', outOfRangeHi); var outOfRangeHiToByte = outOfRangeHi.byte(); print('Greater than byte max cast to byte becomes byte max:', outOfRangeHiToByte); // A number greater than byte range min cast to byte becomes byte range min. var BYTE_MIN = 0; var outOfRangeLo = ee.Number(BYTE_MIN - 12345); print('Less than byte min:', outOfRangeLo); var outOfRangeLoToByte = outOfRangeLo.byte(); print('Less than byte min cast to byte becomes byte min:', outOfRangeLoToByte);
import ee import geemap.core as geemap
Colab (Python)
# Cast a number to unsigned 8-bit integer: [0, 255]. number = ee.Number(100) print('Number:', number.getInfo()) byte_number = number.byte() print('Number cast to byte:', byte_number.getInfo()) """Casting numbers to byte that are outside of its range and precision can modify the resulting value, note the behavior of the following scenarios. """ # A floating point number cast to byte loses decimal precision. float_number = ee.Number(1.7) print('Floating point value:', float_number.getInfo()) float_to_byte = float_number.byte() print('Floating point value cast to byte:', float_to_byte.getInfo()) # A number greater than byte range max cast to byte becomes byte range max. BYTE_MAX = 255 out_of_range_hi = ee.Number(BYTE_MAX + 12345) print('Greater than byte max:', out_of_range_hi.getInfo()) out_of_range_hi_to_byte = out_of_range_hi.byte() print('Greater than byte max cast to byte becomes byte max:', out_of_range_hi_to_byte.getInfo()) # A number greater than byte range min cast to byte becomes byte range min. BYTE_MIN = 0 out_of_range_lo = ee.Number(BYTE_MIN - 12345) print('Less than byte min:', out_of_range_lo.getInfo()) out_of_range_lo_to_byte = out_of_range_lo.byte() print('Less than byte min cast to byte becomes byte min:', out_of_range_lo_to_byte.getInfo())