将程序中的变量或参数设置成2的幂值对程序效率有提高吗
解释一下儿吧,第一个问题:为什么数组等通常会选择2的幂次?答:如果数组在栈上面分配的话,因为编译器一般会把变量对齐到机器字长,所以选择2的幂次能恰好占满那段空间,不会出现因为对齐而不用的字节。如果数组在堆上面分配的话,内存分配器有可能是用Buddy算法来分的内存,在那个算法下选择2的幂次的数组可能会减少内部碎片。这个其实对效率影响不大,因为数组里面用多少个取决于你的程序逻辑,不取决于你分多大的数组。0和1的效率问题?答:01串中只有一个1还是全都是1,对计算机电路来说应该没啥区别。不过我倒是听说因为计算机用高电压表示1,用低电压表示0,所以处理1和0时的耗电量是不同的……但不建议往这个方向细想,这个是那些破译密码的疯子们要琢磨的事情……综上所述,为什么会选择2的幂次呢?答:原因是:程序员就是喜欢2的幂次,对他们来说这些就是个整,就像前面的答案里的那个笑话一样,没多想,凑个整而已……
■网友
对内存管理来说,你不对齐,程序就得帮你对齐,就好比你报销发票不粘好,财务就得帮你粘
■网友
多数情况下没有,但是……给你讲个笑话吧:程序员A:哥们儿,最近手头紧,借点钱?程序员B:成啊,要多少?程序员A:1000行不?程序员B:咱俩谁跟谁!给你凑个整,这1024,拿去吧。
推荐阅读
- 鄂温克冬季马赛-30℃极寒开赛:寒冬中的火热派对
- 大雪@大雪腌肉 适当进补 今日大雪
- 招聘都要学历,何来程序员不看学历
- 银行系统的研发岗(程序员)是不是很难进(校招)推广到国企的研发岗(程序员)呢
- |电商事业中的“闪光少年”
- 坐标合肥,请问在哪里能捕捉到程序员这种生物他们大都出现在哪里呢
- 程序猿和产品汪能愉快的一起谈恋爱嘛
- 怎样成为一名合格的Python程序员?
- 我是程序猿养了条狗,取啥名字好
- 送程序员男友苹果无线耳机还是专业品牌耳机
