【转载】BD听课0.1
2015-12-23 09:57
351 查看
关键词:二进制 十进制 十六进制 以旧换新
一切都是0 和 1,编码 解码 变成了大千世界(00 01 10 11)
小常识:二进制用b表示,十进制用d表示,十六进制用h表示。
小例子:电视三原色为红、蓝、绿。即二位编码就够了 00 01 10 没有11的事就不用管了
汉字用国标码一般是14位,此时所代表的只是逻辑上的那个“字”,就是一个魂,字型码是有形的(有点的是1,无点是0,缺点是放大后便不清晰了,矢量编码便克服了这个障碍) 。还有一个是联合编码,16位。
具体的小细知识在课本上有关于二进制的基础介绍
直接理论的提出是生硬难懂的,于是讲了一个关于液晶显示的故事(显示屏的工作原理见百度)由此引出了点阵(以16*16点阵为例)
16*16点阵=256点位即32字节
为什么呢?
8bit=1Byte 2*8*16=32Byte 看似不好算利用已有的旧知识就能快而准的计算。例如:
43*47=2021 32*72=2804
39*31=1209 64*44=2816
25*25=625 。。。
刚一看到都是用很老的方法计算,其实仔用以往知识细观察就能发现规律(这个过程不是一蹴而就的,要慢慢探索)
其规律就是第一组第一个因数的十位数乘以第二个因数的(十位数+1),然后两个个位数相乘。第二组就倒个个。即前后后前加一。 再举一个十字相乘法和平方差快速计算的
29*31=899
通过这小例子发现原来只是可以这么学,以旧换新
十进制的可以这样找规律,那二进制和十六进制的呢是不是也可以
首先是一般的算法
(1011)B
=1*2^3+0*2^2+1*2^1+1*2^0=11
11/2=5.......1
5/2=2........1
2/2=1.........0
1/2=0.........1 (1011)B
而仔细推敲能发现什么
1 1 1 1 1 1 1 1 (B)
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
很有趣不是吗?这样我们只需找到和所对应的数最相近的那个即可,例子:
168转化为二进制
168和128离着最近所以开头便是1 168-128=40 和32离着很近即32的对应位置位1 64对应位置没有便是0,以此类推便是10101000
二进制转十进制反着推便可
十六进制看似只能用一般的办法,然仔细以观察便发现2^4=16 即4个二进制的数对应一个十六进制的一个数
举例子吧
1 0 4 (这是一个数104,方便看)
0001 0000 0100
实在不能理解就记住这个规律。
另外,还说了三个理论:吃饭理论(米老师版)
一万小时定律http://baike.baidu.com/view/40591.htm?fr=aladdin 二八定律http://baike.baidu.com/view/40591.htm?fr=aladdin
一切都是0 和 1,编码 解码 变成了大千世界(00 01 10 11)
小常识:二进制用b表示,十进制用d表示,十六进制用h表示。
小例子:电视三原色为红、蓝、绿。即二位编码就够了 00 01 10 没有11的事就不用管了
汉字用国标码一般是14位,此时所代表的只是逻辑上的那个“字”,就是一个魂,字型码是有形的(有点的是1,无点是0,缺点是放大后便不清晰了,矢量编码便克服了这个障碍) 。还有一个是联合编码,16位。
具体的小细知识在课本上有关于二进制的基础介绍
直接理论的提出是生硬难懂的,于是讲了一个关于液晶显示的故事(显示屏的工作原理见百度)由此引出了点阵(以16*16点阵为例)
16*16点阵=256点位即32字节
为什么呢?
8bit=1Byte 2*8*16=32Byte 看似不好算利用已有的旧知识就能快而准的计算。例如:
43*47=2021 32*72=2804
39*31=1209 64*44=2816
25*25=625 。。。
刚一看到都是用很老的方法计算,其实仔用以往知识细观察就能发现规律(这个过程不是一蹴而就的,要慢慢探索)
其规律就是第一组第一个因数的十位数乘以第二个因数的(十位数+1),然后两个个位数相乘。第二组就倒个个。即前后后前加一。 再举一个十字相乘法和平方差快速计算的
29*31=899
通过这小例子发现原来只是可以这么学,以旧换新
十进制的可以这样找规律,那二进制和十六进制的呢是不是也可以
首先是一般的算法
(1011)B
=1*2^3+0*2^2+1*2^1+1*2^0=11
11/2=5.......1
5/2=2........1
2/2=1.........0
1/2=0.........1 (1011)B
而仔细推敲能发现什么
1 1 1 1 1 1 1 1 (B)
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
128 64 32 16 8 4 2 1
很有趣不是吗?这样我们只需找到和所对应的数最相近的那个即可,例子:
168转化为二进制
168和128离着最近所以开头便是1 168-128=40 和32离着很近即32的对应位置位1 64对应位置没有便是0,以此类推便是10101000
二进制转十进制反着推便可
十六进制看似只能用一般的办法,然仔细以观察便发现2^4=16 即4个二进制的数对应一个十六进制的一个数
举例子吧
1 0 4 (这是一个数104,方便看)
0001 0000 0100
实在不能理解就记住这个规律。
另外,还说了三个理论:吃饭理论(米老师版)
一万小时定律http://baike.baidu.com/view/40591.htm?fr=aladdin 二八定律http://baike.baidu.com/view/40591.htm?fr=aladdin
相关文章推荐
- Python中机器学习库scikit-learn的安装
- windows使用python调用wget批处理下载数据
- openfire的配置搭建
- Oracle exp 导出数据错误解决方法
- java类加载机制的过程
- 1023: [SHOI2008]cactus仙人掌图
- Apache限制IP并发数和流量控制的方法
- Binary Tree Path Sum
- iOS UISearchController 的简单使用
- 40个Java多线程问题总结
- input替换为a标签,onclick事件不触发
- 通过ffmpeg把图片转换成视频
- 用于web类库代码的单元测试
- lua让我的师兄不敢拿8k的薪水
- 毕业了,异地恋只能分手吗?
- 高职组:1、猜年龄
- WEB前端开发人员须知的常见浏览器兼容问题及解决技巧
- OC学习篇之-----委托代理
- 根据STATUS信息对MySQL进行优化
- C语言内存与指针总结