public static BigUInt <N> RightBlockShift(BigUInt <N> n, int sft)
        {
            BigUInt <N> ret = n.Copy();

            ret.RightBlockShift(sft);

            return(ret);
        }
        public static BigUInt <N> RightRoundBlockShift(BigUInt <N> n, int sft)
        {
            BigUInt <N> ret = n.Copy();

            ret.RightBlockShift(sft);

            if (sft >= 1 && sft <= Length && n.value[sft - 1] > UIntUtil.UInt32Round)
            {
                ret.CarryAdd(0, 1);
            }

            return(ret);
        }