当前位置: 首页 > news >正文

网站空间租用费用东西湖网站建设

网站空间租用费用,东西湖网站建设,网站制作可以,电商网站设计教程作者#xff1a;程序喵大人来源#xff1a;程序喵大人大家好#xff0c;我是猫哥#xff01;众所周知#xff0c;计算机是从0开始计数#xff0c;而不是我们平时常用的从1开始计数#xff0c;但你有想过为什么吗#xff1f;其实不是计算机从0开始计数而是多数编程语言中…作者程序喵大人来源程序喵大人大家好我是猫哥众所周知计算机是从0开始计数而不是我们平时常用的从1开始计数但你有想过为什么吗其实不是计算机从0开始计数而是多数编程语言中的数组都使用0作为起始下标又是为什么呢这个问题超纲了程序喵不会但是本着对科学的敬畏之心经过大量的搜索查证我终于找到了答案。故事还要从一位真正的大佬艾兹格·迪科斯彻(Dijkstra)讲起艾兹格·W·迪科斯彻Dijkstra结构程序设计之父提出“goto有害论”;提出信号量和PV原语;解决了“哲学家聚餐”问题;Dijkstra最短路径算法和银行家算法的创造者;THE操作系统的设计者和开发者;第一个Algol 60编译器的设计者和实现者;与D. E. Knuth并称为我们这个时代最伟大的计算机科学家的人。这里贴出我翻译后的大佬语录为了表示自然数1234...14...的子序列一般有四种序列的表示方法a) 2 ≤ i 13b) 1 i ≤ 12c) 2 ≤ i ≤ 12d) 1 i 13以上的几种表达方式里有哪一种比其他的好吗是的a和b有较为明显的优点他们上下界数值之间的差值就是这个序列的长度。在任何一种表示中两个子序列相邻最好是其中一个的上界等于另外一个的下界但这还不能抉择出a和b方式哪种更好继续分析假设序列里要包含最小的自然数如果使用b和d这种方式那下界就必须是个非自然数这就不太好看了所以这里更倾向于使用a和c的方式即使用≤方式表示下界。这里如果使用≤表示上界那一个空的子序列表示方式也将会很丑陋所以对于上界大佬的结论是更喜欢使用a和d中的当需要表示一个长度为N的序列时如果想通过下标来区分其中的元素那又来了一个棘手的问题初始元素的下标值应该用多少呢如果从1开始那范围变成1 ≤ i N1如果从0开始那范围会是0 ≤ i N显然后一种方式更优雅更直观所以大佬最后的结论是自己更倾向于一个序列的表示最好从0开始。大佬语录总结在进行范围表达的时候使用左闭右开的方式更优雅他思考过在处理长度为N的序列时到底第一个元素的下标使用0更合适还是使用1更合适他的出发点很简单那就是哪种方式更优雅。首先确定使用左闭右开的方式当下标从1开始时下标范围为1i难道只有优雅这一个原因吗其实下标从0开始主要的意义是表示偏移下面举例数组为什么起始下标是0其实数组是一种线性结构它有一段连续的内存空间存储一组具有相同类型的数据。如图拿一个长度为10的int类型数组举例系统就会为该数据分配一段连续的内存空间空间大小为40个字节其中内存块首地址base_address 100。数组是可以随机访问的当访问第i个元素时需要定位第i个元素的地址定位公式如下第i个元素地址base_address i * data_type_size其中data_type_size表示数组中元素类型的大小int类型大小是4字节所以公式里data_type_size等于4。在这里下标可以理解为偏移数组的首地址就是base_address其中a[0]就是偏移为0的位置a[i]就是偏移了i个data_type_size大小的位置所以计算a[i]地址的公式为a[i]地址base_address i * data_type_size这里如果数组下标从1开始那么a[i]地址的公式为a[i]地址base_address (i - 1) * data_type_size两个公式显而易见下标从0开始的更加简单后者从1开始每次访问数组元素都需要额外做一次减法操作效率更低。我们知道在Python中数组也是将0作为起始下标对此Python之父Guido van Rossum也给出过正面回答下面贴出他的翻译后的语录大佬语录关于这个问题之前就有人在Twitter上询问过我我给出过回答。这个问题我思考过很久ABC语言是Python的祖先之一使用的索引就是从1开始的而另一门对Python有重要影响的C语言它的索引就是从0开始。之前的几门编程语言(AlgolFortran, Pascal)有使用1作为起始索引的有使用某个变量作为索引。而推动我使用0作为起始索引的原因之一就是切片语法。让我们先来看看切片的用例可能关于切片最常见的用法就是“取前n个元素”和“取从i开始的后n个元素”如果在使用这两种用法时不需要带有1或者-1的补偿操作那代码会很优雅。使用基于0的索引方式那上面两种切片用法就会非常漂亮a[:n]和a[i:in]前者是a[0:n]的缩写。使用基于1的索引方式如果你想用a[:n]表示取前n个元素的意思要么使用闭合区间切片语法要么使用起始索引加切片长度作为参数的方法。半开区间切片方法如果和基于1的索引方式结合起来那代码将会变得不优雅。而如果使用闭合区间切片语法的话为了从第i位索引开始取n个元素那就需要把表达式写成a[i, in-1]。这样看来也许使用切片起始位长度的方式在基于1的索引方法中更合适这样你可以写成a[i:n]并且ABC语言就是这么做的你可以写成ai|n这种特别的语法。但是index:length这种方式在其它情况下也适用吗我有点记不清了但我认为我确实是被半开区间这种优雅的语法迷住啦。特别是当两个切片操作相邻时第一个切片的终点索引是第二个切片的起始索引时这种语法简直太漂亮啦。例如你想要将一个字符串使用i和j分成三部分这三部分会是a[:i]a[i:j]和a[j:]真是太漂亮啦。这就是为什么Python使用0作为起始索引的原因。看到这里你知道为什么很多编程语言都是从0开始计数了吗另外关于列表和索引我们之前也介绍过推荐阅读参考资料https://www.cs.utexas.edu/~EWD/transcriptions/EWD08xx/EWD831.htmlhttps://blog.csdn.net/csdnsevenn/article/details/107421466https://docle.github.io/2018/08/26/Why-Numbering-Should-Start-At-Zero/https://www.reddit.com/r/Python/comments/1p2za1/guido_van_rossum_why_python_uses_0based_indexingPython猫技术交流群开放啦群里既有国内一二线大厂在职员工也有国内外高校在读学生既有十多年码龄的编程老鸟也有中小学刚刚入门的新人学习氛围良好想入群的同学请在公号内回复『交流群』获取猫哥的微信 (谢绝广告党非诚勿扰)~
http://www.yutouwan.com/news/499913/

相关文章:

  • 网站开发外包计入什么科目河北省城乡规划建设局官方网站
  • 产品展示类网站模板哪些项目适合开工作室
  • WordPress整站搬家插件济南卓远网站建设公司
  • PHP与网站建设的课后笔记tp网站开发
  • 以家乡为主题做网站网站开发主要内容
  • wordpress 搜索模板西安seo招聘
  • 班级网站建设规划书网站删除期查询
  • 光谷网站建设公司大数据精准营销获客系统
  • 网站关停怎么做团购网站前景
  • 南京百度关键字优化价格seo如何做网站建设
  • 高大上的平面设计网站莱芜网吧恢复营业
  • 优良的定制网站建设中小企业网站建设问题
  • 招代理的网站要怎么做免费在线设计
  • 组建个人网站网站制作方案策划书
  • 广东企业网站建设报价建设网站视频教程
  • 什么是网站的权重一个网站没有备案
  • 锦州建设工程信息网站高端网站开发方案
  • 网站建设费税收分类wordpress百度熊掌
  • 东莞连衣裙 东莞网站建设申请网站域名
  • 免费网站建设解决方案专升本需要考些什么科目
  • discuz网站备份徐州铜山区建设局网站
  • 求购信息网站做婚礼网站的公司
  • 专门教做甜品的网站做网站的优势有哪些
  • 专业网站建设服务包括哪些益阳市住房和建设局 网站
  • 创新的专业网站建设莱州唯佳网络科技有限公司
  • 深圳罗湖网站制作肇庆城乡建设门户网站
  • 网站建设制作经验足怎样建移动网站
  • 一个网站多个域名 seo潍坊路通工程建设有限公司网站
  • 企业局域网站建设模板wordpress谷歌网站地图
  • 包头市做网站哪个新手网站建设