Skip to content

Commit

Permalink
Add binary_coded_decimal.py (TheAlgorithms#10656)
Browse files Browse the repository at this point in the history
* added decimal to bcd sequence

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* updated with fixes

* Update and rename bcd_sequence.py to binary_coded_decimal.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update binary_coded_decimal.py

* Update binary_coded_decimal.py

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Christian Clauss <cclauss@me.com>
  • Loading branch information
3 people authored Oct 17, 2023
1 parent 9de1c49 commit 9da6f48
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions bit_manipulation/binary_coded_decimal.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
def binary_coded_decimal(number: int) -> str:
"""
Find binary coded decimal (bcd) of integer base 10.
Each digit of the number is represented by a 4-bit binary.
Example:
>>> binary_coded_decimal(-2)
'0b0000'
>>> binary_coded_decimal(-1)
'0b0000'
>>> binary_coded_decimal(0)
'0b0000'
>>> binary_coded_decimal(3)
'0b0011'
>>> binary_coded_decimal(2)
'0b0010'
>>> binary_coded_decimal(12)
'0b00010010'
>>> binary_coded_decimal(987)
'0b100110000111'
"""
return "0b" + "".join(
str(bin(int(digit)))[2:].zfill(4) for digit in str(max(0, number))
)


if __name__ == "__main__":
import doctest

doctest.testmod()

0 comments on commit 9da6f48

Please sign in to comment.