【Java Saves!】Session 6:十六指星人
前面说,计算机用2个手指头数数,它内部的数是二进制,有0和1两个数字。也看到,对于人来说,二进制数too long, too inconvenient, sometimes troublesome。程序员也是人。程序员是十六指星人。十六指星人数数用十六进制。
十六进制共有16个数字,除了0~9,还用A~F 这6个字母分别代表10~15。多位数满16进1。以一例说明十六进制数转换为十进制数的方法:
1E240十六进制
= 1 × 164 + × 163 + 2 × 162 + 4 × 161 + 0 × 160
= 1 × 65536 + 14 × 4096 + 2 × 256 + 4 × 16
= 123456
没错,这就是前面那篇随笔中所例举过的数,其二进制表示为 11110001001000000。为方便看官,我把图在这里再贴一次。注意上面算式中蓝色的十六进制数字E转换为十进制数是14。

相比于二进制,十六进制数书写简洁,且与二进制数之间转换方便:十六进制数的每位数字对应二进制数的4位数字。我们将上例这个数的二进制形式按每4位用空格分隔,就能很清楚地看到这个对应关系了:
123456十进制
= 1E240十六进制
= 1 1110 0010 0100 0000二进制
注意,其中二进制数的最高位补了3个0(蓝色部分),凑齐了4位。
小结一下:(1)在计算机内部,数是二进制;(2)同一个数,可以用二进制、十六进制、十进制等不同的 表示形式 ;(3)十六进制因其简洁而又易于与二进制数之间互相转换,被程序员普遍使用
二进制的英文是binary,十六进制是hexadecimal,十进制是decimal。所以,上面Windows计算器截图上可以看到,二进制数前写着BIN,十六进制数前写着HEX,十进制数前写着 DEC。
Java 源代码中十六进制数前面要加0x,用以与十进制数区分,例如:123456写成0x1E240。
【Java Saves!】Session 6:十六指星人的更多相关文章
- 201871020225-牟星源《面向对象程序设计(java)》第十六周学习总结
201871020225-牟星源<面向对象程序设计(java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- JAVA之旅(十六)——String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较
JAVA之旅(十六)--String类,String常用方法,获取,判断,转换,替换,切割,子串,大小写转换,去除空格,比较 过节耽误了几天,我们继续JAVA之旅 一.String概述 String时 ...
- 201871010105-曹玉中《面向对象程序设计(java)》第十六周学习总结
201871010105-曹玉中<面向对象程序设计(java)>第十六周学习总结 项目 内容 这个作业属于哪个过程 https://www.cnblogs.com/nwnu-daizh/ ...
- 20145302张薇《Java程序设计》第十六周课程总结
20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...
- 201871010123-吴丽丽 《面向对象程序设计(Java)》第十六周学习总结
201871010123-吴丽丽 <面向对象程序设计(Java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201271050130-滕江南-《面向对象程序设计(java)》第十六周学习总结
201271050130-滕江南-<面向对象程序设计(java)>第十六周学习总结 博文正文开头格式:(2分) 项目 内容 这个作业属于哪个课程 https://www.cnblogs.c ...
- 201871010111-刘佳华《面向对象程序设计(java)》第十六周学习总结
学号-姓名<面向对象程序设计(java)>第十六周学习总结 实验十四 应用程序归档与线程初步 实验时间 2019-12-12 第一部分:理论知识总结 1.程序与进程的概念 ‐程序是一段静 ...
- 201871010104-陈园园《面向对象程序设计(java)》第十六周学习总结
201871010104-陈园园<面向对象程序设计(java)>第十六周学习总结 项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ ...
- 201871010107-公海瑜《面向对象程序设计(java)》第十六周学习总结
201871010107-公海瑜<面向对象程序设计(java)>第十六周学习总结 项目 内容 这个作业属于哪 ...
随机推荐
- 伪装MAC地址
一.界面操作法 打开"网上邻居",右键属性"本地连接",点击配置 选择"高级",再选"网路卡位址"(不同系统名字略不同) ...
- 画蛇添足-记spring3 hibernate4整合时遇到问题的处理办法
最近在来到一个新公司,使用新的spring3,hibernate4框架,在使用注解事务总是不起作用. 首先看配置文件,然后再讲解. 首先是springmvc-servlet.xml,这个配置文件是se ...
- 一些常用的Git命令
1 删除文件 $ git rm filename 从已跟踪文件清单中移除,并连带从工作目录中删除指定的文件. 删除后,有2种选择: (1)如果确实要删除,则使用git commit提交. (2)如果不 ...
- JS/React 判断对象是否为空对象
JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如空的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话, ...
- window 内核详尽分析
http://bbs.pediy.com/showthread.php?t=185055
- 天朝专用- 配置pypi镜像
使用python者,需要经常安装模块,可是身在天朝.pypi.python.org 站点稳定性相当差,为了很更好的使用pip安装模块. 请使用镜像. mac/linux 环境 在用户当前目录下 如没有 ...
- 一个自动备份mysql数据库的bat文件内容
自动备份mysql数据库,并已当前的日期时间为目录 copy过去, xcopy将近15年没有用dos命令,还是这么亲切 另 本方法是备份数据库文件,不是dump导出,然后再计划任务中使用,我用的是wa ...
- CLR via C#深解笔记五 - 事件
事件处理实际上是一种具有特殊签名的delegate, 像这个样子:public delegate void EventHandler(object sender, EventArgs e); 类型 ...
- java 实现验证码
package edu.zzuli.common; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; i ...
- oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案
oracle 12541,12560,00511无监听程序, 协议适配器错误问题分析及解决方案 问题描述: 1. lsnrctl start.stop.非常慢,出现卡顿现象: 2. 执行lsnrc ...