microsoft / microsoft/calculator
Programmer calculator treats MSB as sign bit, no option to remove sign bit
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 31.1k
- Forks
- 5.8k
- PR merge metrics
- No merged PRs in 30d
Description
Problem Statement
In the Microsoft Calculator application's programmer mode, the calculator treats the Most Significant Bit (MSB) as a sign bit, which may not be desired behavior for all users. Currently, there's no option provided to remove the sign bit and produce the result accordingly.
Evidence or User Insights
Screenshot Provided: Attached screenshot showcasing the issue in the Programmer mode of Microsoft Calculator. The screenshot clearly illustrates the MSB being treated as a sign bit, affecting the calculation output.
The MSB is interpreted as a sign bit without an option to toggle this behavior. The need for greater flexibility in binary calculations.
This evidence indicates a clear need for implementing an option to toggle the treatment of the MSB as a sign bit, providing users with more control over their calculations and improving the overall user experience.
Proposal
- Open Microsoft Calculator.
- Switch to the Programmer mode.
- Perform calculations involving binary numbers with MSB set as 1.
- Notice that the result is interpreted with the MSB as a sign bit.
Goals
Users should have the option to choose whether the MSB should be treated as a sign bit or not in the Programmer mode of Microsoft Calculator. This option could be provided through settings or configuration.
Non-Goals
The non-goal is to implement a complete overhaul or redesign of the Microsoft Calculator application. This issue specifically focuses on improving the functionality of the Programmer mode by providing an option to toggle the treatment of the MSB as a sign bit. It's important to clarify this to avoid scope creep and maintain focus on the specific problem at hand.
Low-Fidelity Concept
A low-fidelity concept could be a simple mockup or wireframe demonstrating the addition of a toggle switch or checkbox within the settings menu of the Programmer mode. This concept would illustrate how users could enable or disable the treatment of the MSB as a sign bit.
Requested Assignment
I want to suggest a feature and let someone else implement it.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the Programmer mode's calculation logic and its settings entry points; the issue names no files or tests. Define how the sign-bit option should appear and affect calculations, then add coverage for binary values with the MSB set. Done means users can toggle signed versus unsigned treatment without changing unrelated Calculator modes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100