Plus-minus signMedium shade
ASCII 177 is ± on Windows and ▒ in old DOS.
± (Plus-Minus Sign) is byte 177 in Windows-1252, Unicode U+00B1. It gives a range around a value: a tolerance like 25 mm ± 0.1 mm, or a result like 5.0 ± 0.2 in a lab report. In science that second form is ambiguous on its own. The 0.2 could be a standard deviation, a standard error or a confidence interval, and a 95% interval is roughly twice the standard error, so say which one you mean. Formulas bring its mirror image ∓ (U+2213, minus-plus), which pairs with ± to flip the sign in step: cos(a ± b) = cos a cos b ∓ sin a sin b. Windows-1252 has no ∓. Old DOS had ± too, at 241. In UTF-8 it's C2 B1, which misreads as ±. The HTML entity is ±.
▒ (Medium Shade) is byte 177 in code page 437, the original IBM PC character set, and maps to Unicode U+2592. It sits between ░ and ▓ as a half-dense checker pattern, used for text-mode backgrounds and mid-gray fills in ANSI art. Porting old code is where 177 trips people up. In C on a DOS-style console, char(177) meant ▒, but modern languages treat the number as a Unicode code point: Python's chr(177), Java's (char)177 and C#'s (char)177 all give ±, because U+00B1 is the plus-minus sign. To get the shade, use its own code point, U+2592, or decode the byte explicitly, as bytes([177]).decode('cp437') does in Python. In UTF-8 it takes three bytes, E2 96 92, which a code page 437 console prints as ΓûÆ and a page misread as Windows-1252 shows as â–’. The HTML entity is ▒.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 177 is ±.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00B1\n"); /* UTF-8: C2 B1 */unsigned char b = 177; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 177 0xB1 */return 0;}
#include <stdio.h>int main(void) {/* Byte 177 is ▒ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xB1 is invalid and prints as garbage, often �. */putchar(177);/* char is signed on x86, so a plain char holding 0xB1 is -79.Use unsigned char when you compare or index by byte value. */char c = (char)177;unsigned char u = 177;printf("\n%d %d\n", c, u); /* -79 177 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u2592\n"); /* E2 96 92 */return 0;}
Join two formatted numbers: `=TEXT(A2,"0.00")&" ± "&TEXT(B2,"0.00")` turns 12.3456 and 0.8 into 12.35 ± 0.80. TEXT keeps both at the same number of decimals, which a plain & join would lose. The result is text, so keep the original columns for any further calculation.
Put the unit where it clearly covers both numbers: (25.0 ± 0.1) mm or 25.0 mm ± 0.1 mm. Written as 25 ± 0.1 mm, the unit formally belongs only to the 0.1. Give the value as many decimals as the uncertainty, too, so 25.0 rather than 25.
Python and JavaScript have no ± operator, so you compute both branches. For the quadratic formula in Python, take `d = (b*b - 4*a*c) ** 0.5` and return `(-b + d) / (2*a)` and `(-b - d) / (2*a)`. The ± in the math is shorthand for two separate answers, and your code should hand back both.
In polls and surveys, yes: the margin is in percentage points, so the range is 37% to 43%. Read strictly, ± 3% could also mean 3% of 40, only 1.2 points either way, which is how a ±5% resistor tolerance works. Write ± 3 percentage points when the difference matters.
Type Alt+0177 instead. The version without the zero reads the DOS table, where 177 is the medium shade ▒. If you like the short codes, ± also lives in that DOS table at 241, so Alt+241 gets you there too.
The file is code page 437 art opened as Windows-1252. The three shades ░▒▓ sit at bytes 176 to 178, where Windows-1252 has °±², and the solid █ at 219 becomes Û. Convert it with `iconv -f CP437 -t UTF-8 art.nfo > art.txt`, then view it in a monospaced font that includes the block characters.
Type Alt+0177 instead. The version without the zero reads the DOS table, where 177 is the medium shade ▒. If you like the short codes, ± also lives in that DOS table at 241, so Alt+241 gets you there too.
The file is code page 437 art opened as Windows-1252. The three shades ░▒▓ sit at bytes 176 to 178, where Windows-1252 has °±², and the solid █ at 219 becomes Û. Convert it with `iconv -f CP437 -t UTF-8 art.nfo > art.txt`, then view it in a monospaced font that includes the block characters.