一。
2进制,用两个阿拉伯数字:0、1;
8进制,用八个阿拉伯数字:0、1、2、3、4、5、6、7;
10进制,用十个阿拉伯数字:0到9;
16进制,用0~9和A,B,C,D,E,F
举例:(使用10进制表示下列进制的数)
16进制的32 : 2×16^0+3×16^1=50
8进制的1507:7 × 8^0 + 0 × 8^1 + 5 * 8^2 + 1 × 8^3 = 839
2进制数的0110 0100: 0 ×2^0 + 0 × 2^1 + 1 × 2^2 + 1 ×2^3 + 0 × 2^4 + 1 × 2^5 + 1 × 2^6 + 0 × 2^7 = 100
二。为什么需要八进制和十六进制?
我们习惯使用10进制来思维,但是计算机确是使用2进制来表示,偶尔使用二进制可以有利于我们更好的解决问题,但是二进制数目是如此的长而难于思考和操作,比如一个int 类型占用4个字节,32位。一个10进制的100,用int类型的二进制数表达将是:
0000 0000 0000 0000 0110 0100
于是我们采用了一个折中的办法,使用8进制或者16进制,它们除了便于和2进制数进行转换,大大缩短表示长度之外,还很好的保留了2进制数的运算特点,便于做& | > 等2进制的运算。
三 一些规定
事实上,对某些数来说,我们既可以理解为10进制,也可以理解为8进制或者16进制,所以对8进制,我们需要以0开头,对16进制数,我们已0x开头。举例:
int a = 100 ; (10进制)
int a = 0000 0000 0000 0000 0110 0100 ; (2进制)
int a = 0144; (8进制 144 =4×8^0+4×8^1+1×8^2)
int a =0x64 ; (16进制)
四 负数
10进制数有正负之分,比如12表示正12,而-12表示负12;但8进制和16进制只能表达无符号的正整数,那么我们的计算机是怎么表示负数的呢?这就是原码、反码、补码的概念了。举例来说:
假设有一个int 类型的数,值为5,那么,计算机中表示为:
00000000 00000000 00000000 00000101
5转换成二进制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
那么,-5在计算机中如何表示?在计算机中,负数以其正值的补码形式表达。什么叫补码呢?这得从原码,反码说起。
原码:一个整数,按照绝对值大小转换成的二进制数,称为原码。
比如 00000000 00000000 00000000 00000101 是5的原码。
反码:将二进制数按位取反,所得的新二进制数称为原二进制数的反码。
取反操作指:原为1,得0;原为0,得1。(1变0; 0变1)
比如:将00000000 00000000 00000000 00000101 每一位取反
得11111111 11111111 11111111 11111010
称:11111111 11111111 11111111 11111010 是 00000000 00000000 00000000 00000101 的反码。
反码是相互的,所以也可称:
11111111 11111111 11111111 11111010 和 00000000 00000000 00000000 00000101 互为反码。
补码:反码加1称为补码。
也就是说,要得到一个数的补码,先得到反码,然后将反码加上1,所得数称为补码。
比如:00000000 00000000 00000000 00000101 的反码是:11111111 11111111 11111111 11111010。
那么,补码为:
11111111 11111111 11111111 11111010 + 1 = 11111111 11111111 11111111 11111011
所以,-5 在计算机中表达为:11111111 11111111 11111111 11111011。转换为十六进制:0xFFFFFFFB。
分享到:
相关推荐
提出了一种解析多目标分支语句及其跳转表的方法,能够挖掘出间接跳转的目标,进而对其进行有效翻译并提高二进制翻译系统的性能.该方法提出使用语义图来对预期语义进行刻画和表达.语义图能够对考察的指令序列进行...
在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
二进制序列发生器及其功率谱和自相关函数的实现
此博文以十进制转5421BCD为例,将仿真的文件的写法以及使用modesim自动化执行脚本文件进行简单的总结,更新之前文章的模板。以后有关代码的书写可以参考此博文。主要分为个部分,第一个部分介绍转5421BCD原理,第二...
有关ARCADE项目及其作者的详细信息,请参见。 安装ARCADE ARCADE当前仅可用于运行最新Windows版本(实际上是8和10)的计算机。 如果您要为OSX或Linux创建二进制安装程序,则提供了源代码,因此欢迎您这样做(并提供...
请注意,此模型及其内部相似性评分指标不是解决 BCSA 问题的最佳方法,但它可以帮助分析编译方式如何影响每个特征。 TikNib 目前专注于函数级相似度分析,这是二进制分析的基本单元。 有关更多详细信息,请查看。...
一种软件工具,可从船只网络文件及其各自的二进制掩码量中提取出统计上相关的特征。 它是《出版物“整个产后和成年小鼠大脑中三维血管网络体系的分层成像和计算分析”中使用的处理管线的一部分。 它收集有关分叉,...
十进制小数转二进制matlab代码配对地球pat骨 该存储库是MATLAB代码的集合,用于在采样的地理空间坐标附近的飞机之间生成不相关的相遇。 它基于讨论的高级概念。 生成的相遇已在MIT LL CSIM,MIT LL CASSATT和JHU APL...
Kiteshield旨在成为二进制混淆中的有趣的学术练习,而不是在给定源代码及其工作原理的情况下可以在现实世界中使用的东西。 以11世纪诺曼人偏爱命名(或者:“风筝盾牌”在Old School Runescape中非常流行)。 建筑...
在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其...
1.2 二进制、补码及其运算 1.2.1 数制 1.2.2 补码与加、乘运算 1.3 DSP控制器的基本原理 第2章 总体结构 2.1 总线结构 2.2 中央处理单元 2.2.1 输入比例部分 2.2.2 中央算术逻辑部分 2.2.3 乘法部分 2.3 辅助寄存器...
文章目录1 Python 整型概述2 不同进制表示整数2.1 十进制(decimalism)形式2.1.1 十进制形式概述2.1.2 十进制表示整数注意事项2.2 二进制(...2.5 各进制对应的函数及其各进制之间转换3 数字分隔符4 整数相关函数...
给出了有关n进制数位数码之平方和的函数均值的一个精确的计算公式。
该 ZIP 文件包含一个 GUI(及其相应的脚本),用于计算二进制 3D 数字图像的 HSF 和 Hom-Tree。 它包括一个简短的用户指南(文件用户指南 R3 HSF.pdf),解释了它的工作原理。 其作者是: F. Diaz-del-Rio, , S. ...
动机将最少的软件包发布到npm仅将相关的应用程序代码发布到无服务器环境中不会浪费时间配置捆绑程序通常更快的启动时间和更少的I / O开销类似于语言的编译体验(例如:go)设计目标零配置TypeScript内置仅支持Node....
CuPy 由核心的多维数组类cupy.ndarray 及其上的许多函数组成。 它支持 numpy.ndarray 接口的子集。 安装 有关安装 CuPy 的详细说明,请参阅安装指南。 您可以使用 pip 安装 CuPy:(用于 CUDA 8.0 的二进制包) $ ...
掌握数制的概念,熟悉二进制整数、八进制数、十进制整数和十六进制数之间的 转换; 掌握数值、西文字符和汉字在计算机内的表示,熟悉原码、补码、反码的概念; 掌握计算机的基本工作原理; 掌握计算机硬件系统的...
第四章:电子表格软件Excel 2003的使用,基本操作和使用技巧,以及数据处理和数据分析的基本方法, 第五章:计算机网络与Internet基础,计算机网络的相关知识和Internet的相关操作方法。 第六章:演示文稿制作软件...