ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CS50 lesson_1

2021-08-24 09:04:49  阅读:153  来源: 互联网

标签:24 10 颜色 CS50 数字 lesson 对应 计算机


讲课大致内容

人类社会中以1-10来计数,但是计算机却以2进制来进行交流:01。这些称为位。

而人类对计算机的物理输入(控制方法),是电。

拿灯泡举例
有无电流,控制着他的开和关,对应着计算机的0和1.那这样的话我们怎么数到比1高的数呢? --可以用更多的情况。
如用三个灯泡,这样总共就有8种情况,能数到7。(从0计数的原因,是因为0也是有意义的,当一切都结束的时候)

而计算机中实际使用的是:晶体管(小开关)。数以百万计的小开关。

123
这是10进制我们平时用的123,这个数怎么得来的?1次100,二次10,三次1.
abc 而里面的基数是10,因为有0-9,10个数字。a位对应10得2次,b位对应10的1次。

而在计算机中,只有0,1.所以基数是2。001就是1,里面含有三个位(bits),每个位元可以是0-1.而此时相当于最右边的开关打开了。(此时我们知道了计算机的这项类似于灯泡的能力,而它可以用来计算数字。--当然早期的计算机确实是如此设计的)

但怎么利用这项功能,表达字母呢? --利用二进制的数字分别对应了每个字母。如:规定A就是1,B就是2

而事实上规定的是A对应了十进制的65,也就是01000001.此时计算机要做的只是注意程序类型(什么情况用65,什么情况用A)

而这种65对应A,66对应B的规则被称为ascll码。

当你手机接受别人发的消息 HI!时,(01001000 01001001 00100001)从技术上来讲接受的时一种比特模式,某种频率。
以前的计算机为了节约资源,都是用7位,但现在是八位,此时你总共接受了24位bits。

因为bits太小了,产生了bytes,字节。

但8个位能表示多少符号呢?256种。但能表达的最高值,是255。但是那些地方口语,表情字符该怎么表示呢(超过256的)?(实际上笑脸表情对应的是128514十进制数)

其实现在世界上ascll已经从八位发展到16 或24甚至32.还发明了一种Unicode系统,支持英语,中文各个语言。

那么如何表达颜色呢?(如笑脸上的黄色)

给不同的颜色分配不同的数字。RGB

还是72 73 33.
这些在聊天工具中表达的可能是HI!,但在ps等围绕图形的软件中,代表一些颜色。

红绿蓝 ,每个颜色是8各位,而当这些颜色不断组合在一起 ,能产生不同颜色。假如成了黄色的时候,黄色就是24位。

而我们一般看到的屏幕中的图像,都是由一个个带颜色的小正方形组成的(像素)

同理,视频的话就是,多张图片的快速组合。音乐的话,也可以用数字来代表每个音符和节拍。

因此,不同文件的各个扩展名,可以让计算机知道这数字代表什么,表现什么(大部分人同意用这种格式来处理这些0,1)

那么我们的输入(数字,图像,颜色)是如何通过黑匣子,变成一个个我们想要的输出(想解决的问题)呢?。

---算法(algorithm):对计算机的一步步指令。

生活中的算法
如在一本1000页电话本里寻找自己的电话,可以一面一面的查找,可以两面两面的找(可以大概确定位置,在周围找到),也可以一半一半的查找,
1000,500,250(看自己的名字在不在这个区,如果名字c开头,而500面是M区,则可以只看前500面)。。。。,
虽然都可行,但这几种方法所消耗的时间(资源)是完全不一样的。
选取第三种方法,他的步骤就是:
打开书
翻开这书中间
如果人在这上面
  打他电话
如果不在,在前面
   翻开左侧的中间部分
在后面
   。。。。
 

而编程,就是使用这些算法以及将他们(步骤)翻译成计算机语言。

打电话,翻开,退出等这些动作,在计算机里,就是一个个函数。决定是否使用这一种解决方法,在计算机里称为布尔表达式。。。(还有loop循环等等)

我们从这种伪代码过渡到真正的代码,要用到语言。(下节课介绍c,老式的基于文本基于键盘的语言)

标签:24,10,颜色,CS50,数字,lesson,对应,计算机
来源: https://www.cnblogs.com/czp12138/p/15178633.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有