mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-12-18 17:20:16 +00:00
9da6f48b46
* 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>
30 lines
705 B
Python
30 lines
705 B
Python
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()
|