#!/usr/bin/env zsh
# convert bits to human-readable value

local suffixes=( 'B' 'K' 'M' 'G' 'T' 'P' 'E' 'Z' 'Y' )
local sindex=1
local val=$1
[[ -z $(echo $1 | grep "^[0-9]*$") ]] && read val

while [[ $(echo $val / 1024 | bc) -ne 0 ]]; do
	val=$(echo "scale=2; $val / 1024" | bc)
	let sindex=sindex+1
done

echo "${val}${suffixes[$sindex]}"