计算机的0和1

计算机语言:0和1

博主是机械专业跨行到嵌入式,在学习过程中,理解到知识体系的重要性,这也是科班和非科班的差别吧。因此,我想站在转行人士的角度上,讲述在学习过程中对计算机技术的认识过程,普及我觉得跨行过来应该要掌握的基本知识,这样可能会对一些刚转行的小白有点作用。

首先声明,本人非科班,会有挺多知识误区,如有错误,请帮我纠正,谢谢。

第一部分:

大家都知道,计算机里面存储的都是0和1,1代表高电平,0代表低电平。那首先,我们就先了解一下它是如何存在与计算机当中的,好有个更形象的认识。watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA56m655m95pi156ewODg4,size_20,color_FFFFFF,t_70,g_se,x_16

 上图就是一个存储一位数的硬件图,我们不需要看它具体是如何实现的,只需要知道,我们可能通过控制左边两个引脚,就可以改变这个单元的输出(0或1),一个单元,叫做一个比特位( bit),如果我们有8个这样的单元,就可以有256种可能(2的8次方),8个bit位为一个字节( byte),字节就是电脑存储的最小单元。

OK,我们已经知道,一个bit里面存的是0或1,一个byte是8个bit。这样,我们就可以表达256种不同的信息了。对的,数据就是01010101...组成的,这样,我们就可以进入千变万化的计算机世界了。

第二部分:计算机语言

计算机上存的都是0和1,我们要与计算机交互的话,就需要用到计算机语言。从最开始的汇编,到B语言-->C语言-->C++、JAVA、PYTHON等。这些语言的作用就是让计算机按照我们的程序去执行命令。因为博主学的是嵌入式,因此学习的语言是C语言。那么,接下来就介绍一下C语言。C语言的基本格式:

int main(void)

{

        return 0;

}

这是一条主函数,命令是从这里开始执行的。

C语言的基本数据类型:

类型                   名字                长度       一般作用

char                    字符              1byte       定义字符变量

short                   短整型           2byte       ....

int                       整形               4byte       定义整形变量

long                    长整形            4/8byte    ....

long long            更长整形        8byte        ...

float                  单精度浮点数   4byte       定义小数

double               双精度浮点型  8byte       定义精度更高的小数

1个byte是8个bit,那么int(整形)就有32个bit位,可以存-2147483647-2147483647(2的31次方减一)这个区间的数。第一个bit是用来表示正负值的(0正1负),负数是以补码的形式存在计算机当中的。如00...01表示的是1。

补码是这样的,-1,我们自己是表示为10...01(原码),但在计算机存储时,它实际存储的补码,原码转换成补码的步骤是:标志位不变,按位取反,再加1,按位取反(把1变成0,0变成1):11...10,再加一:11...11。所以,计算机存-1时,它实际存的是32个1(int型)。为什么要这样呢?因为计算机只会加法,你看,如果这时候再加一,就变成了00...00。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值