mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-23 21:11:08 +00:00
Add binary_coded_decimal.py (#10656)
* 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>
This commit is contained in:
parent
9de1c49fe1
commit
9da6f48b46
29
bit_manipulation/binary_coded_decimal.py
Normal file
29
bit_manipulation/binary_coded_decimal.py
Normal file
|
@ -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()
|
Loading…
Reference in New Issue
Block a user