吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 960|回复: 3

[知识手册] 【进制的理解】

[复制链接]
书香 发表于 2023-5-18 19:25 | 显示全部楼层 |阅读模式

本帖最后由 书香 于 2023-8-29 01:59 编辑

很多人可能听过计算机的最底层是2进制执行,但是原理并不知道,我们今天先不讨论那么复杂的问题,先讨论什么是进制

1+9=10,10并不是1个字符,而是2个字符,也就是说在10进制里面没有“10”这个字符,10需要由1和0来表示

那么8进制呢
1+1=2
1+5=6
1+6=7
1+7?

8进制就是满足8就进1位,所以1+7=10,好的,继续
10+1=11
10+5=16
16+1=17
17+1=?


    1 7
+    1
——————
    2 0

可能大家已经有一定的头绪了,那我们来讲一下什么是2进制,2进制就是满足2就进1位
1+0=1
1+1=?

      1
+    1
——————
    10


10+1=11
11+1=?

    1 1
+    1
——————
1 0 0

可能有些人要说,感觉cpu烧掉了,11+1不是应该=20吗,2进制没有2,在十进制中99+1=100大家知道,那11+1=100同样应该是很好理解的


重点:进制在代码中的应用
当一些软件涉及到内存操作的时候,会涉及一个叫内存地址的名词,内存地址是16进制的,也就是很多人常说的基质+偏移,这里是要做16进制的运算,但是编程语言只能进行10进制的运算,所以需要把16进制的内存地址先转为10进制,然后使用10制运算出结果后再变为16进制

(提示,易语言用户在精易模块的进制区有相关命令)
forum.jpg

难点:什么是16进制
10进制里面没有一个字符可以表示10,但是在16进制里面使用A表示10,B=11,C=12,D=13,E=14,F=15
9+1=A
A+2=C
F+1=10
E+2=10
F+3=12


看到这里,很多人可能恍然大悟,终于知道内存中那些ABC是什么意思了

拓展点:
以以后如果看到一些教程代码出现AB1D这种类型的数据,基本可以推断是16进制的数据,很多数据可能都会使用16进制来表示,比如颜色,如#ccc

(点击返回课程目录https://www.52hb.com/thread-58658-1-1.html

评分

参与人数 6HB +4 THX +4 收起 理由
学编程的闹钟 + 1
雪山肥狐 + 1
诸葛村夫 + 1 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
消逝的过去 + 1
longge188 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
sjtkxy + 1 + 1

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
JuStkK 发表于 2023-6-3 18:43 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
头像被屏蔽
sjtkxy 发表于 2023-6-11 04:34 | 显示全部楼层

提示: 作者被禁止或删除 内容自动屏蔽
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
longge188 发表于 2023-8-26 09:30 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表