0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

浅谈C语言的二进制和计算机语言

汽车玩家 来源:小博客网站 作者:小博客网站 2020-01-25 17:33 次阅读

说计算机语言之前,先要说明计算机的工作原理。如果是最简化的描述计算机,那么它就是很多很多个开关。这些开关组合成了一些逻辑电路,很多很多个逻辑电路组合在一起就变成了计算机的处理器CPU),在加上储存设备,输入输出设备就变成一个现在的计算机的样子了。因为计算机底层就是很多很多开关,如何用电来表示这些开关呢,其实有很多个方案,比如用固定的电压表示开和关,比如220v表示开,12v表示关,但是电压是很不稳定的,用电多了会降低,少了会升高,所以用具体电压值表示开和关是很不方便的,人们采用了另外一种方案:电压的高低。不用具体的数值,只用一个大致的范围表示开和关,比如4-5v表示高电平,0v表示低电平,这样就得到一个表示开和关的稳定的衡量标准了。

正因为用电压的高低可以稳定的表示开和关,所以计算机在计算机中只有两个状态来传递信息,一个高电平,一个低电平,在计算机中,用1表示高电平,用0表示低电平。

所以,计算机世界中,只有0和1,其它的什么都没有。

我们现实生活中用的是的十进制,就是只有0到9这十个数字,计算机只有0和1,它如何表示各种各样的数字呢,这个时候,人们就定制了一个规则,就说这个规则全世界的计算机都要符合它。这个规则就是用1和0来表示十进制数字,这种规则就叫做二进制。

它确定了二进制转换十进制的公式。

举个例子,这是一串二进制 100101

人们规定了它转换成十进制的方法:从右到左,依次从第0位开始,注意不是第1位,第0位是1,第1位是0,第二位是1,第三位是0,第四位是0,第五位是1,这样数,然后怎么算十进制呢,每一位就是2的位数次方乘以这一位的值,然后相加,比如第五位是1,就是2的5次方乘以这一位,也就是2的5次方乘以1,等于32。

明白了二进制是个什么东西之后,下面我们就可以谈计算机语言的发展了。

1.机器语言

计算机刚发明出来的时候,指令都是一些开关,用这些开关来给CPU输入一些二进制的指令,比如输入

1110101表示一种指令,输入110000又表示另外一种指令,没错,就是这么萌,那个时候写好的程序就是很多很多的0和1……

毫无疑问,这很不利于程序的编写和修改,因此,更高级的汇编语言出现啦!

2.汇编语言

汇编语言就没有很多的0和1了,而是用到了十六进制和一些英文缩写指令,比如

MOV A,13

ADD A,8

这就比1和0好看很多了,但还是不够好,还是很难看懂的。

3.高级语言

为了更方便编写程序,高级语言便应运而生。

C语言就是一种高级语言,为什么高级,因为见不到和硬件相关的东西了,都是很简单的英文单词来表示程序的含义了,比如C中的if——else语句,就是如果怎样,否则怎样的意思,至于它怎么就变成了计算机CPU能运算的1、0,这个我们不用知道,C语言的编译器就帮我们做了,所以说,确实是很高级的语言。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18261

    浏览量

    222116
  • 计算机
    +关注

    关注

    19

    文章

    6646

    浏览量

    84490
  • C语言
    +关注

    关注

    180

    文章

    7528

    浏览量

    128435
收藏 人收藏

    评论

    相关推荐

    计算机为什么使用二进制来表达

    在生活中,人们已经习惯用十进制来计数,0~9的发明是人类的伟大进步,从此就可以用0~9这十个数字的组合能表示任何大小的数字。于是初学计算机的人往往会问的问题是,计算机为什么使用二进制
    的头像 发表于 10-30 15:44 580次阅读
    <b class='flag-5'>计算机</b>为什么使用<b class='flag-5'>二进制</b>来表达

    计算机语言概述

    接受由“0”和“1”组成的二进制信息。要计算机执行一定的操作,就要编写一系列的二进制代码。这种不需翻译即由计算机直接执行的指令叫做机器指令。这些指令的集合叫做机器
    发表于 12-06 00:17

    哪位大神有 二进制转十六进制C语言程序

    哪位大神有 二进制转十六进制C语言程序
    发表于 10-21 14:40

    计算机硬件怎样执行二进制程序的

    计算机怎样将二进制数当成指令执行的?
    发表于 12-11 08:54

    c语言二进制是如何转为十进制的?

    c语言二进制是如何转为十进制的?其源码是什么?
    发表于 07-15 12:04

    为什么计算机内部进行二进制运算,而不是十进制运算?

    闲来没事在b站上看李永乐老师讲的这个视频,觉得挺有意思的。这篇文章主要是记一下笔记。本篇文章里面的数字若没有特殊指明,默认为二进制数字。你们有没有这样的疑问:为什么计算机内部进行二进制运算,而不是
    发表于 07-23 09:59

    C语言的编译步骤

    嵌入式C语言开发入门——程序编译计算机语言发展过程C语言编译步骤GCC编译命令程序执行计算机语言
    发表于 12-15 08:21

    计算机语言概述

    计算机语言概述 在计算机技术发展过程中,出现过各种各样的程序设计语言。从程序设计语言发展过程来看,可分为
    发表于 12-06 00:17 2765次阅读
    <b class='flag-5'>计算机语言</b>概述

    二进制编码和二进制数据

    二进制编码和二进制数据   二进制编码是计算机内使用最多的码制,它只使用两个基本符号"0"和"1",并且通过由这两个符号组成的
    发表于 10-13 16:22 4508次阅读

    二进制数及其他

    0题记 在学习计算机基础或者是数字电子技术、微机原理、单片机、C 语言等课程的时候,都会讲到一个概 念:二进制数。就是这个二进制数难倒了很多的英雄汉,上面罗列的这些课程
    发表于 08-31 09:52 7805次阅读
    <b class='flag-5'>二进制</b>数及其他

    二进制加法程序【C语言版】

    二进制加法程序【C语言版】二进制加法程序【C语言版】二进制加法程序【C语言版】
    发表于 12-29 11:03 0次下载

    C语言教程之十进制转换为二进制

    C语言教程之十进制转换为二进制,很好的C语言资料,快来学习吧。
    发表于 04-22 11:06 0次下载

    计算机语言的分类

    本视频主要详细介绍了计算机语言的分类,分别有机器语言、汇编语言、高级语言等。
    的头像 发表于 12-27 16:04 2.6w次阅读
    <b class='flag-5'>计算机语言</b>的分类

    计算机语言的发展过程

    本视频主要详细介绍了计算机语言的发展过程,分别是机器语言、汇编语言、高级语言
    的头像 发表于 12-28 16:46 3.4w次阅读

    计算机基础知识之二进制

    在C/Java/JavaScript等高级语言编写的程序中, 「数值」 、 「字符串」 和 「图像」 在计算机内部都是以 「二进制数值」 的形式来表现的 用二进制数表示
    的头像 发表于 03-31 16:06 3342次阅读
    <b class='flag-5'>计算机</b>基础知识之<b class='flag-5'>二进制</b>