This project is an interactive website for demonstrating or simulating signed binary multiplication via three methods:
- Pencil-and-paper method
- Booth's algorithm
- Extended Booth's algorithm (also known as modified Booth's algorithm, radix-4 Booth's algorithm, or bit-pair recoding)
This website is a major course output in a computer organization and architecture class under Mr. Roger Luis T. Uy of the Department of Computer Technology, De La Salle University. The following are its key features:
- Support for both decimal and binary number input, up to a maximum of 16 bits (minimum: –215 = –32768, maximum: 215 – 1 = 32767)
- Option to switch between demonstrating each step one at a time and displaying all the steps at once
- Playback controls for navigating through the step-by-step demonstration
- Exporting of step-by-step demonstration to a text file
💡 UPDATE (12/22/2022): With the shutting down of free Heroku services, we have migrated to Vercel: https://binary-multiply.vercel.app/
This project consists of the following folders:
Folder | Description |
---|---|
assets |
Contains the image files |
scripts |
Contains the JavaScript files |
style |
Contains the CSS style sheets |
It also includes the following files:
File | Description |
---|---|
composer.json |
Contains the list of dependencies of the PHP project |
Procfile |
Specifies the commands run by the project's dynos on Heroku |
index.html |
Home (main) page of the website |
index.php |
Entry point of the PHP project |
For detailed instructions on how to use this simulator, you may refer to our user manual.
Open the following website: https://binary-multiply.vercel.app/
-
Create a copy of this repository:
-
If git is installed, type the following command on the terminal:
git clone https://github.com/memgonzales/binary-multiplication
-
If git is not installed, click the green
Code
button near the top right of the repository and chooseDownload ZIP
. Once the zipped folder has been downloaded, extract its contents.
-
-
Open
index.html
.- There is no need to install any additional software or dependency. However, internet connection is required to load fonts, libraries, and toolkits from their respective content delivery networks (CDNs).
This project uses JavaScript to carry out all the operations and computations on the client-side. Additional libraries and toolkits are enumerated in the following table:
Library/Toolkit | Version | Description | License |
---|---|---|---|
jQuery | 3.5.1 | Fast, small, and feature-rich JavaScript library for HTML document traversal and manipulation, event handling, and animation | MIT License |
Font Awesome | 4.7.0 | Front-end toolkit featuring vector icons and social logos | CC BY 4.0 License (Icons) SIL OFL 1.1 License (Fonts) MIT License (Code) |
Google Fonts | - | Font embedding service library featuring free and open-source fonts | Apache License 2.0 |
Material Design | - | Library for the design system developed by Google for Android, iOS, Flutter, and the web | Apache License 2.0 |
The descriptions of these technologies are taken from their respective websites.
The opinionated code formatter Prettier was employed to enforce uniformity and consistency of coding style.
The website was refactored into a PHP application for faster and lightweight deployment on Heroku, a cloud platform as a service (PaaS).
💡 UPDATE (12/22/2022): With the shutting down of free Heroku services, we have migrated to Vercel, another cloud PaaS.
- Lander Peter E. Cua
lander_peter_cua@dlsu.edu.ph
landercua@gmail.com - Jacob Bryan B. Gaba
jacob_bryan_gaba@dlsu.edu.ph
jacob.gaba20@gmail.com - Mark Edward M. Gonzales
mark_gonzales@dlsu.edu.ph
gonzales.markedward@gmail.com - Hylene Jules G. Lee
hylene_jules_lee@dlsu.edu.ph
lee.hylene@gmail.com
Assets (images) are properties of their respective owners. Attribution is found in the credits file.