1
vegito2002 2018-04-17 09:11:03 +08:00 via iPad
2^10 约等于 1000, 然后用这个跟 10 进制大部分都能估计个差不多了; 2^(10 以内)的基本上用多了就知道了;
|
2
ThirdFlame 2018-04-17 09:20:57 +08:00
2 的 10 次方 1024
2 的 8 次方 256 2 的 4 次方 16 用多了 这些不就记住了。 剩下的就是就是拼拼凑凑 肯定了 |
3
jinhan13789991 2018-04-17 09:38:48 +08:00
同求方法,还有位运算,脑子浆糊一样
|
4
zyp0921 2018-04-17 09:52:45 +08:00
熟能生巧
|
5
MCVector 2018-04-17 10:00:17 +08:00 via Android
十六进制换二进制随意换。十进制要慢多了。应该是用的多了就记住了,各种 unsinged 数据类型上限或者是常用的 bit field.
|
6
locktionc 2018-04-17 10:29:30 +08:00
二进制转八进制,三位一组,高位不足三位补 0,1011011101 -> 001, 011, 011, 101->八进制 1335
八进制转二进制,一个数对应三位二进制位。例如 1335, 1-> 001, 3-> 011, 5 -> 101 拼起来就是 001011011101 二进制转十六进制,四位一组,高位不足四位补 0,1011011101-> 0010, 1101,1101->0x2(13)(13)->0x2dd 十六进制转二进制,一个数对应四位二进制数。例如 0x2dd,2-> 0010, d - > 1101, 拼起来就是 001011011101 十进制转二进制,记范围,例如 1283,1024 < 1283 < 2018 所以有 11 位,由于是奇数,所以末尾必为 1,所以是 1xxxxxxxxx1。1283 - 1024 = 259,由于 256 < 259 < 512,所以第 9 位必为 1,因此 1283 对应了 101xxxxxxx1。继续减,259 - 256 = 3 = 2^1 + 1,所以末尾必为 11,那么第 4 位到倒数第 3 位全为 0,所以结果为:10100000011 |
7
xwyam 2018-04-17 10:37:08 +08:00 via Android
把 2 的 16 次方之前的数都背下来是可行的
另外,记一些特殊常用的,比如 192,168,384,768 这些,还有 ascii 里 48,65,97 这些 |
8
vincenttone 2018-04-17 15:32:15 +08:00
如果是一头驴单掌数数的话,就是 2 进制啦。
一个人双手数数的时候,也是一样的。 超过 10 个手指(或者驴的单掌手指数),就需要脑子里有个计数器记录一下数了几遍了,这个操作就加上了基础数值。 至于快速换算,可以考虑记录每一位的数字,[..., 256, 128, 64, 32, 16, 8, 4, 2, 1] 比如我说 64 转换 2 进制 >>> 1000000,只需要 64 所在的位置置 1,其他置 0。 65 >>> 1000001,65 取 64 余,剩下 1,对应位置置 1。 至于每一位如何记忆 1.一般 8421 之类的好记,需要的时候不停的乘 2 就可以知道了 2.而且大概 2 的乘方也是知道的,比如 1024、2048 之类的,给你一个 4111,明显就是 4096 附近,做个差 4111 - 4096 = 15,然后 15 下面就是 8 了,然后重复,421 一起是 7,于是 [4096:1, 2048:0, 1024:0, 512:0, 256:0, 128:0, 64:0, 32:0, 16:0, 8:1, 4:1, 2:1, 1:1 ] >>> 1000000001111 3. 命令行用 python ( linux 自带)、ruby ( mac 自带)直接转换就可以 |
9
sampeng 2018-04-17 18:16:15 +08:00
电脑自带的计算器了解一下。。。
不是特别明白背得这些数字的实际价值在哪里。。。炫技的一种? 另外。。如果 lz 你一天写几十次进制转换,或者掉进制转换的坑里。。。想忘都难 |