将二进制、八进制、十六进制转换为十进制二进制、八进制和十六进制向十进制转换都非常容易,就是“按权相加”。所谓“权”,也即“位权”。假设当前数字是 N 进制,那么:对于整数部分,从右往左看,第 i 位的位权等于Ni-1对于小数部分,恰好相反,要从左往右看,第 j 位的位权为N-j。更加通俗的理解是,假设一个多位数(由多个数字组成的数)某位上的数字是 1,那么它所表示的数值大小就是该位的位权。1) 整数部分例如,将八进制数字 53627 转换成十进制:53627 = 5×84 + 3×83 + 6×82 + 2×81 + 7×80 = 22423(十进制)从右往左看,第1位的位权为 80=1,第2位的位权为 81=8,第3位的位权为 82=64,第4位的位权为 83=512,第5位的位权为 84=4096 …… 第n位的位权就为 8n-1。将各个位的数字乘以位权,然后再相加,就得到了十进制形式。注意,这里我们需要以十进制形式来表示位权。再如,将十六进制数字 9FA8C 转换成十进制:9FA8C = 9×164 + 15×163 + 10×162 + 8×161 + 12×160 = 653
int 范围是 2^-31 ~ 2^31-1long long 范围是 2-64 ~ 2^64-1*在long long后变量最后加"ll""LL"等可以强制规定数据类型。类似的有浮点数后加"f"的做法。
星鸿
一些个人笔记