Zero suppression
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
Zero suppression is the removal of redundant zeroes from a number. This can be done for storage, page or display space constraints or formatting reasons, such as making a letter more legible.[1][2][3]
Examples
[edit | edit source]- 00049823 → 49823
- 7.678600000 → 7.6786
- 0032.3231000 → 32.3231
- 2.45000×1010 → 2.45×1010
- 0.0045×1010 → 4.5×107
One must be careful; in physics and related disciplines, trailing zeros are used to indicate the precision of the number, as an error of ±1 in the last place is assumed. Examples:
- 4.5981 is 4.5981 ± 0.0001
- 4.59810 is 4.5981 ± 0.00001
- 4.598100 is 4.5981 ± 0.000001[citation needed]
Data compression
[edit | edit source]It is also a way to store a large array of numbers, where many of the entries are zero. By omitting the zeroes, and instead storing the indices along with the values of the non-zero items, less space may be used in total. It only makes sense if the extra space used for storing the indices (on average) is smaller than the space saved by not storing the zeroes. This is sometimes used in a sparse array.[citation needed]
Example:
- Original array: 0, 1, 0, 0, 2, 5, 0, 0, 0, 4, 0, 0, 0, 0, 0
- Pairs of index and data: {2,1}, {5,2}, {6,5}, {10,4}
See also
[edit | edit source]- Run-length encoding – Form of lossless data compression
- Zero code suppression – Digital telecommunications technique
- Zero-suppressed decision diagram – Kind of binary decision diagram
References
[edit | edit source]- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
- ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).