机器语言
语言是一种沟通的方式,例如人与人之间通过自然语言进行沟通,动物与动物之间通过动物语言进行沟通。那么机器与机器之间能否沟通?以及人与机器(电脑)能否沟通呢?答案都是肯定的,是通过机器语言实现的。
机器语言是用二进制数表示的电脑能直接识别和执行的一种机器指令的集合。
例如:0110100001100101011011000110110001101111001000000111011101101111011100100110110001100100
上面的就是一组二进制表示的机器指令集合,我们可以把它直接输入给电脑,看看电脑给我返回什么?
2、因为是java程序,所以你的电脑必须先安装jdk和设置环境变量,然后利用java命令运行下载的文件并在后面添加上面的二进制指令集。
3、最终电脑的反馈是 hello world 。 ? 😲 为什么呢。解答为什么之前,先说说计算机的存储单位吧。
存储单位
此时你会问存储单位是什么玩意,我从来没有接触过不懂耶,那么我会说你错了,在网络的时代里其实你天天都在接触这玩意,只是你不知道玩意就在身边而已罢了。你肯定说过我家的宽带是光线 200M的(🐂) 我的手机还有4G流量呢(🤔),这里的M和G都是存储单位的名称。
M是MB称之为兆字节 G是GB称之为吉子节, 1GB = 1024MB,除了这两个单位还有KB、 Byte、bit等单位。其中bit是最小的单位,它们之间的进制是: 8bit = 1Byte 1024Byte = 1KB 1024KB = 1MB。你是否发现了规律了呢?,没错除了 bit 到byte 的进制是8 其它的进制都是1024,其实存储单位可以分为两个大类的,分别是位和字节,并且规定 8位等于1字节(1字节用来代表一个字符),字节按着1024的进制分为 千字节(KB)、兆字节(MB)、吉字节(GB)等。
回过头来看看上面的二进制指令集,既然1byte = 8bit 那么下面用这样分开看是不是会好看点呢。
01101000 01100101 01101100 01101100 01101111 00100000 01110111 01101111 01110010 01101100 01100100
人为的分了11个组,每组是8bit,也就是11个字节,代表了11个字符。回想上面的程序给我我们返回的结果是:hello world。你认为这个是10字符吗,那你错误了,是11个字符,因为中间还有一个空格字符呢。看看下图吧。
为什么为什么? 01101000 就是代表h ,01100101 代表e呢,我只能告诉你这是规定,01101000 就是代表h,这个规定就是ASCII。
ASCII(美国信息交换标准代码)是基于拉丁字母的一套计算机编码系统。它主要用于显示现代英语,而其扩展版本EASCII则可以部分支持其他西欧语言,表格如下。
这下就不难理解了吧,给电脑输入0110100001100101011011000110110001101111001000000111011101101111011100100110110001100100指令,计算机返回的结果是hello world,那以后写编程就是写0101010101010这个神仙姐姐看了都头疼的代码吗?当然不是了如果这样的话我不写博客了早就转行到农民工去了,还好人类的智慧是无限的,发明了很多高级的语言用来和计算机沟通打交道。什么是高级语言,java属于高级语言吗?,到底有多高级,请待下一篇分解吧。