aboutsummaryrefslogtreecommitdiff
path: root/hcalc.rst
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2024-01-10 09:38:27 -0500
committerB. Watson <urchlay@slackware.uk>2024-01-10 09:38:27 -0500
commitb4c06fc38ae74e1c58cd2bf9866e65a26a412696 (patch)
tree12c60e3dac2f40b679e0f0853178183a63e28971 /hcalc.rst
parentde4dffd8bb02dbd2969edc44e4915decb75e9b1d (diff)
downloadhcalc-b4c06fc38ae74e1c58cd2bf9866e65a26a412696.tar.gz
Add twos complement, center-click anywhere to paste.
Diffstat (limited to 'hcalc.rst')
-rw-r--r--hcalc.rst43
1 files changed, 26 insertions, 17 deletions
diff --git a/hcalc.rst b/hcalc.rst
index 314944e..7611248 100644
--- a/hcalc.rst
+++ b/hcalc.rst
@@ -95,6 +95,10 @@ buttons. Each button can be pressed either by clicking on it with the
mouse, or pressing its keystroke (given in **bold**). A few buttons
have multiple functions, depending on which mouse button is used.
+The descriptions below assume a right-handed mouse, and refer to mouse
+button 1 as "left" and button 3 as "right". If your mouse is set up
+left-handed, reverse them.
+
*0* to *9*, *A* to *F* (**0-9**, **a-f**)
Digits. Lowercase only for the hex digits. Entering digits
larger than the current number base is impossible (e.g. hex digits
@@ -116,14 +120,16 @@ have multiple functions, depending on which mouse button is used.
Invert sign.
*INV* (**~**)
- Unary NOT; invert the bits in the current number.
+ Unary NOT, aka 1's complement; invert the bits in the current number.
+ For 32-bit two's complement, right-click or use **@** on the keyboard.
+ Integer operation; truncates digits after the decimal point.
*OR* *AND* *XOR* (**&** **|** **^**)
- Boolean operations.
+ Boolean operations. Integer operations; truncates digits after the decimal point.
*DEC* *HEX* *OCT* *BIN* (**D** **H** **O** **B** or **F1** to **F4**)
Change the number base. The number being displayed will be converted
- to the new base.
+ to the new base. Truncates digits after the decimal point.
*DEL* (**Backspace** or **Delete**)
Delete the last digit entered. Deleting the last digit results in 0.
@@ -132,8 +138,9 @@ have multiple functions, depending on which mouse button is used.
Store to memory (like *M* on most calculators); recall memory (like *MR*);
add current value to memory (like *M+*).
-*<<** *>>* (**<** **>**)
+*<<* *>>* (**<** **>**)
Bit shift by one position, left or right.
+ Integer operation; truncates digits after the decimal point.
*SHF* (**S**)
Shift left/right by some number of bits (binary
@@ -141,6 +148,7 @@ have multiple functions, depending on which mouse button is used.
numbers and right for negative. This is less confusing
than it sounds: 1 shifted left once is 2, -1 shifted right
once in -2.
+ Integer operation; truncates digits after the decimal point.
*CE* (**u**)
Clears the number being entered, same as backspacing over it,
@@ -153,22 +161,23 @@ have multiple functions, depending on which mouse button is used.
MOUSE
=====
-Mouse operation is simple: for the most part, just click on the
+Mouse operation is simple: for the most part, just left-click on the
buttons to press them.
There's no *%* button for the modulus operator, but you can
-right-click on the *÷* (division) key.
-
-Right-clicking (or any button other than 1) on the *CLR* key exits
-**hcalc**.
-
-For the numeric display, clicking button 1 (usually the left one)
-copies the number to the X selection buffer. Clicking any other
-button pastes from X, but beware: pasting anything but a number in
-the current base might have unexpected effects, because all pasted
-characters are treated as keystrokes (so, e.g. pasting a capital Q
-quits the application). This can be useful, e.g. if you paste "2+2=",
-**hcalc** will display "4".
+right-click on the *÷* (division) key. Also, right-click on
+the *INV* key for two's complement.
+
+Right-clicking on the *CLR* key exits **hcalc**.
+
+For the numeric display, a left-click copies the number to the X
+selection buffer. Right-click pastes from X, but beware: pasting
+anything but a number in the current base might have unexpected
+effects, because all pasted characters are treated as keystrokes (so,
+e.g. pasting a capital Q quits the application). This can be useful,
+e.g. if you paste "2+2=", **hcalc** will display "4".
+
+A center-click (button 2) anywhere in the **hcalc** window also pastes.
KEYBOARD
========