欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

什么是 1024,为什么是 1024?

最编程 2024-05-03 22:06:01
...
  • 本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

非常感谢你阅读本文~ 欢迎【????点赞】【⭐收藏】【????评论】~ 放弃不难,但坚持一定很酷~ 希望我们大家都能每天进步一点点~ 本文由 二当家的白帽子 https://juejin.cn/user/2771185768884824/posts 博客原创~


二当家的祝所有的 程序猿/媛 节日快乐,一日为 程序猿/媛 便要终生学习,希望我们大家都能每天进步一点点~

在这里插入图片描述


1024 程序员节

1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。 程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。


节日背景

程序员(英文Programmer)是从事前端、后端程序开发、系统运维、测试等的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员、系统架构师、运维测试工程师等。 在1834年,人称“数字女王”的阿达·洛芙莱斯(Ada Lovelace)的朋友英国数学家、发明家兼机械工程师查尔斯·巴贝其(Charles Babbage)发明了一台分析机;阿达则致力于为该分析机编写算法,并于1842年,编写了历史上首款电脑程序。1843 年公布了世界上第一套算法。巴贝其分析机后来被认为是最早期的计算机雏形,而阿达的算法则被认为是最早的计算机程序和软件。运行程序的硬件进制是以1024为基础的。例:1G=1024M ;1M=1024KB。

import java.text.MessageFormat;

public class Test {

	public static void main(String[] args) {
		// 我只是想要¥,所以这里必须这么写
		Integer $1024 = 1024;
		System.out.println(MessageFormat.format("{0}的2进制表示为:{1}", $1024.toString(), Integer.toBinaryString($1024)));
	}
}

在这里插入图片描述


节日由来

2002年,俄罗斯程序员Valentin Balt收集签名,向俄罗斯联邦*请愿将9月13日设定为程序员节。 2009年9月11日,俄罗斯总统梅德韦杰夫在节日安排方案上签了名,“程序员节”从此成为了俄罗斯的一个正式节日。 除了俄罗斯之外,其他国家的一些程序员社区也会庆祝这个节日。为什么会选9月13日呢?因为它是每年的第256天(闰年就是9月12日)。256这个数字对程序员来说有着特别的意义,1个字节(等于8位元)最多能表示256个数值,而且在整年中,256是2的最大幂中小于365的值。 在中国,有人提议把10月24日定为中国的程序员节,因为1024不仅同样是程序员的一个常用数字,而且10月24日这个日期非常直观,也不会在平年和闰年有所变化。

import java.text.MessageFormat;

public class Test {

	public static void main(String[] args) {
		// 我只是想要¥,所以这里必须这么写
		Integer $powerOf2 = 2;
		final int maxDaysPerYear = 366;
		while ($powerOf2 * 2 < maxDaysPerYear) {
			$powerOf2 *= 2;
		}
		System.out.println(MessageFormat.format("2的最大幂中小于365的值是:{0}", $powerOf2.toString()));
	}
}

在这里插入图片描述


为什么是 1024

程序员对于1024的敏感度极高,超过1000这个整数。要是偶然看到或者听到1024,都会那么一激动,之所以1024特殊,是因为计算机普遍使用2进制(也有三进制计算机哦1),1024恰好是2的十次方,所以计算机相关普遍使用1024作为一个基数。

中文单位 中文简称 英文单位 英文简称 进率(Byte=1)
比特 bit b 0.125
字节 字节 Byte B 1
千字节 千字节 KiloByte KB 2^10
兆字节 MegaByte MB 2^20
吉字节 GigaByte GB 2^30
太字节 TeraByte TB 2^40
拍字节 PetaByte PB 2^50
艾字节 ExaByte EB 2^60
泽字节 ZettaByte ZB 2^70
尧字节 YottaByte YB 2^80
千亿亿亿字节 千亿亿亿字节 BrontoByte BB 2^90

它们之间的换算关系是: 1B=8bit 1KB=1024B 1MB=1024KB 1GB=1024MB 1TB=1024GB 1PB=1024TB 1EB=1024PB 1ZB=1024EB 1YB=1024ZB 1BB=1024YB 1NB=1024BB 1DB=1024NB 1CB=1024DB 1XB=1024CB

虽然我们平时都讨论计算机底层某个数据的二进制表示形式是怎样的1,0...组合,但其实你打开硬盘,内存,cpu寄存器这些硬件,里面当然不会写有一串1,0...。它可能是有磁性和没有磁性,高电压与地电压。

在这里插入图片描述

十进制每一位数字范围:0 - 9 二进制每一位数字范围:0 - 1

计算机采用二进制的主要原因:1、计算机是由逻辑电路组成,逻辑电路通常只有两个状态,开关的接通与断开(高电压与低电压,有磁性与没有磁性),这两种状态正好可以用“1”和“0”表示;2、二进制中只使用0和1两个数字,传输和处理时不易出错,因而可以保障计算机具有很高的可靠性。

二生四,四生八,八生十六,十六生万物。


吐槽一下,把我的容量还给我

虽然计算机行业标准TB,GB,MB,KB之间是1024关系。但是硬件厂商可不这么玩,比如二当家的配置的是1TB的硬盘,然而...

在这里插入图片描述

在这里插入图片描述

一般硬盘厂商,基础是1000,即 1TB=1000GB,1GB=1000MB,1MB=1000KB,这是硬盘厂家的标准,这在存储市场已经是公开的秘密了,几乎可以说是“行业标准”了。

是的,买的时候是1TB,你用的时候就只有931GB了,把我的容量还给我。


1024 程序员节快乐

最后二当家的再次祝各位1024程序员节快乐。愿天底下再没有难做的需求和难修的BUG。

好了,二当家的要去看大会了。

在这里插入图片描述

欢迎在评论区讨论,掘金官方将在掘力星计划活动结束后,在评论区抽送100份掘金周边,抽奖详情见活动文章

Footnotes

  1. 三进制计算机,是以三进法数字系统为基础而发展的计算机。曾经被莫斯科大学科研人员用于计算机,在光子计算机研究领域也有涉及。对称三进制能比二进制更方便的表示所有整数。三进制是“逢三进一,退一还三”的进制。