BIN2OCT in WPS Spreadsheet: Convert Binary Strings and Extend Negative Signs Correctly
Convert binary text to octal in WPS Spreadsheet, use optional padding and distinguish a ten-bit signed input from its thirty-bit negative output.
Verification status: See the evidence and test scope described in this guide. How formula examples are checked
Quick answer: BIN2OCT converts a binary representation to octal. =BIN2OCT("100101",4) has expected text 0045, representing decimal 37. Negative ten-bit inputs use the lesson’s documented ten-character octal output.
Availability and version history
- Introduced: documented by 2019-06-19 in the official WPS lesson; the first release is not established.
- Availability: Current WPS Windows documentation confirms this function. The historical lesson’s edition field is blank.
- Scope: exact current supported builds and other WPS clients remain unverified.
- Checked: October 14, 2026. Documentation and independent calculations; no native WPS execution.
Syntax, padding and signed width
=BIN2OCT(number,[places])
The official WPS lesson allows at most ten binary input characters, describes two’s-complement negatives and identifies the highest bit as the sign bit. Places is optional: omission uses the minimum character count, and a supplied larger width adds leading zeros.
A negative input ignores places and returns ten octal characters. Ten binary bits and ten octal characters have different capacities: the latter spans thirty bits. A correct signed conversion preserves the quantity while changing its representation width.
The historical lesson’s edition field is blank. Separate current Windows documentation establishes present product identity, without proving a minimum build or the older lesson’s platform.
Example 1: translate a small binary column
Enter only the first column in Text-formatted A2:A6. Put =BIN2OCT(A2) in B2 and =BIN2OCT(A2,4) in C2, then fill down.
| A, binary text | B, minimum octal | C, width four |
|---|---|---|
| 101 | 5 | 0005 |
| 100101 | 45 | 0045 |
| 1001001 | 111 | 0111 |
| 10100101 | 245 | 0245 |
| 100101100 | 454 | 0454 |
The decimal quantities are 5, 37, 73, 165 and 300. Those are explanatory checks, not additional worksheet input columns.
For binary 1001001, pad the grouping illustration to 001 001 001. The three groups each represent 1, producing octal 111. Its positional value is 64+8+1=73.
Example 2: separate quantity from padding
For the same positive input:
=BIN2OCT("100101")
=BIN2OCT("100101",4)
=BIN2OCT("100101",6)
Expected strings are 45, 0045 and 000045. Each has numeric value 37. Keeping a chosen output width does not preserve the original binary character count.
If a downstream record requires exact original text, retain column A or record its width separately. A conversion pipeline can preserve the quantity while changing the representation.
Advanced example: preserve negative quantities across widths
The documented ten-bit input and ten-octal-character negative output imply these independent two’s-complement controls:
| Binary input | Signed quantity | Expected octal |
|---|---|---|
| 1111111111 | -1 | 7777777777 |
| 1111111011 | -5 | 7777777773 |
| 1000000000 | -512 | 7777777000 |
For −5, the input’s unsigned bit pattern is 1024−5=1019. The output’s unsigned thirty-bit pattern is 1073741824−5=1073741819. Both represent the same signed quantity.
Grouping 1111111011 as an unsigned binary number would give short octal 1773, representing positive 1019. That would reinterpret the input instead of preserving its documented sign.
A valid width such as 4 is ignored for the negative control: =BIN2OCT("1111111011",4) still has expected ten-character output 7777777773. Invalid-width interactions remain unverified.
Advanced check: decode after conversion
For C2:C6, enter =OCT2DEC(C2) in D2 and fill down. Expected numeric values are 5, 37, 73, 165 and 300.
For the negative control, =OCT2DEC(BIN2OCT("1111111011")) has independently expected value −5. OCT2DEC documents the thirty-bit signed decoding used here.
If the original source is already a decimal quantity, use DEC2BIN for the separate decimal-to-binary step rather than entering ordinary decimal digits into BIN2OCT and assuming their base.
Errors and remaining scope
The lesson explicitly documents #NUM! for invalid binary digits or more than ten input characters. It also documents #NUM! for insufficient places, truncation of fractional places, #VALUE! for nonnumeric places and #NUM! for negative places.
Binary 1001001 needs three octal digits, so =BIN2OCT("1001001",2) follows the insufficient-width rule. Places 4.9 truncates to 4 and gives 0111. Zero places, text cleanup and competing-invalid-argument precedence remain unverified.
These are documented rules and independently calculated expectations, not captured native WPS results. The input and output bases, sign widths and explicit field sizes should remain labeled throughout a conversion workflow.
References and verification
- WPS Academy: BIN2OCT, 2019-06-19 (Chinese).
- Current WPS Windows BIN2OCT introduction.
- Editorial testing standards.
Complete function-specific documentation reviewed. Worked outputs are independently calculated expectations, not captured native results. Formulas use English names and comma separators; check the installed locale. Product/client and source gaps retain their explicit scope.