Math

In this section, we will have many funcions of mathematics operations that help us in everyday life.

They are not complex to assemble in bash, however, nothing better than a small function to assist, nothing better that send data and get or return result, always read the code.

bh_bin2dec

This function expects a binary and return its equivalent in decimal.

Note

Usage

bh_bin2dec [binary]

binary : string in binary format.

$ bh_bin2dec 11111111
255

$ bh_bin2dec 10
2

$ bh_bin2dec 1110
14

bh_charcalc

Think of a way to make operations with ‘char’, how to sum two positions for a ‘char/string’ and return letter c or sum of the other and multiply it by 10 and returns 10

Note

Usage

bh_charcalc [char/string] [operator] [number]

char/string : string or char to operation operator : * + - number : num of operation

$ bh_charcalc A + 2
C

$ bh_charcalc A \* 255
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.......

bh_dec2bin

Opossed to bh_bin2dec this function expects a decimal for converting it into binary.

Note

Usage

bh_dec2bin [decimal]

decimal : number in decimal format.

$ bh_dec2bin 255
11111111

$ bh_dec2bin 2
10

$ bh_dec2bin 14
1110

#Example

$ for dec in {1..6};
 do
    echo "$dec = $(bh_dec2bin $dec)";
 done

1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110

bh_dec2hex

The function expects a input a decimal number it performs the conversion to hex.

Note

Usage

bh_dec2hex [decimal]

decimal: number in decimal format

$ bh_dec2hex 10
a

$ bh_dec2hex 255
ff

bh_hex2bin

Capture all submitted arguments and convert to binary

Note

Usage

bh_hex2bin [list or one hex digit]

$ bh_hex2bin abcdef 1 2 3
101010111100110111101111 1 10 11

$ bh_hex2bin 10
10000

bh_hex2dec

This’s a conversion function from hex digit to decimal digit

Note

Usage

bh_hex2dec [one or more hex digit]

$ bh_hex2dec A
10

$ bh_hex2dec FF
255

bh_hexcalc

In the same way as bh_charcalc, however, work here with hexdigit.

Note

Usage

bh_hex2cal [hex digit] [operator] [hex digit]

$ bh_hex2dec A \* 2
0xa0

$ bh_hex2bin FF + 1
0x100