// SPDX-License-Identifier: GPL-2.0
2#include <linux/bcd.h>
3#include <linux/export.h>
4
5unsigned _bcd2bin(unsigned char val)
6{
7 return (val & 0x0f) + (val >> 4) * 10;
8}
9EXPORT_SYMBOL(_bcd2bin);
10
11unsigned char _bin2bcd(unsigned val)
12{
13 return ((val / 10) << 4) + val % 10;
14}
15EXPORT_SYMBOL(_bin2bcd);
本文件实现了BCD编码和自然数之间的互相转换,在linux内核中,将转换算法封装起来,提供给其它模块使用
BCD码高4位和低4位分别代表10进制的十位和个位。每4位只用于表示0~9这10个数字。