计算机理论知识--数据标示方式

数据表示方式

  计算机只认识0与1,(早期的计算机使用的是利用通电与否的特性的真空管,如果通电就是1,没有通电就是0, 后来沿用至今,我们称这种只有0/1的环境为二进位制,英文称为binary)记录的数据也是只能记录0与1而已,所以计算机常用的数据是二进位的。 但是我们常用的数值运算是十进位,文字方面则有非常多的语言,常用的语言就有英文、中文(又分正体与简体中文)等。 那么计算机如何记录与显示这些数值/文字呢?就得要透过一系列的转换才可以啦!

一:数字系统

  十进位,890的意义为:

  890= 8x102 + 9x101 + 0x100

  二进位,我们来解释一下1101111010的数值转为十进位的话,结果如下:

  1101111010= 1x29+1x28 + 0x27+ 1x26 + 1x25 + 1x24 + 1x23 + 0x22+ 1x21 + 0x20
          = 512+256 +0+ 64 + 32 + 16 + 8+0+2+0= 890

  这样你了解二进位的意义了吗?二进位是计算机基础中的基础喔!了解了二进位后,八进位、十六进位就依此类推啦! 那么知道二进位转成十进位后,那如果有十进位数值转为二进位的环境时,该如何计算? 刚刚是乘法,现在则是除法就对了!我们同样的使用十进位的890转成二进位来测试一下好了:

                890/2=445  0

                445/2=222 1

                222/2=111 0

                111/2=55 1

                55/2=27 1

                27/2=13 1

                13/2=6 1

                6/2=3 0

                3/2=1 1

                1/2=0 1

最后的写法就如同上面的红色箭头,由最后的数字向上写,因此可得到1101111010的数字罗! 这些数字的转换系统是非常重要的,因为计算机的加减乘除都是使用这些机制来处理的! 有兴趣的朋友可以再参考一下其他计算计概论的书籍中,关於1的补数/2的补数等运算方式喔!

//简单的介绍PHP中的的几个函数

//decbin — 十进制转换为二进制
echo decbin(890) //1101111010

//bindec — 二进制转换为十进制
echo bindec (‘1101111010‘) //890

//dechex — 十进制转换为十六进制
echo dechex (890) //37a

//hexdec() - 十六进制转换为十进制
echo hexdec("37a") //890

//decoct — 十进制转换为八进制
echo decoct (890) //1572

//octdec — 八进制转换为十进制
echo octdec (1572) //890

//base_convert — 在任意进制之间转换数字
string base_convert ( string $number , int $frombase , int $tobase )
//number要转换的数字frombase当前进制  tobase 目标进制
时间: 2024-10-08 22:50:22

计算机理论知识--数据标示方式的相关文章

堆和栈的理论知识

一.预备知识-程序的内存分配       1. 一个由c/C++编译的程序占用的内存分为以下几个部分 1.栈区(stack)-由编译器自动分配释放,存放函数的参数值,局部变量的值等.其操作方式类似于数据结构中的栈.2.堆区(heap)-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收.注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵.3.全局区(静态区)(static)-全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初

计算机编程基础:栈、堆、堆栈概念区分及理论知识

一.预备知识—程序的内存分配  一个由c/C++编译的程序占用的内存分为以下几个部分  1.栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等.其操作方式类似于数据结  构中的栈.  2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 .注意它与数据结构  中的堆是两回事,分配方式倒是类似于链表,呵呵.  3.全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在  一块区域, 未

Android初级教程对大量数据的做分页处理理论知识

有时候要加载的数据上千条时,页面加载数据就会很慢(数据加载也属于耗时操作).因此就要考虑分页甚至分批显示.先介绍一些分页的理论知识.对于具体用在哪里,会在后续博客中更新. 分页信息 1,一共多少条数据 select count(*) from blacktb; 性能低下 原因: sql解析器先查询数据字典,把*转成所有的列名和列的类型 然后把每行数据提取出来 最后统计多少行数据 select count(常量) from blacktb; 高性能的查询 不需要每行的记录,只需要行数 2,指定每页

关于mpi的理论知识以及编写程序来实现数据积分中的梯形积分法。

几乎所有人的第一个程序是从“hello,world”程序开始学习的 #include "mpi.h" #include <stdio.h> int main(int argc, char* argv[]) { int rank, numproces; int namelen; char processor_name[MPI_MAX_PROCESSOR_NAME]; MPI_Init(&argc, &argv); MPI_Comm_rank(MPI_COMM_

【iOS开发-99】POST四种数据提交方式以及NSURLSession上传任务的一些知识

(1)POST四种数据提交方式 --Content-Type:application/x-www-form-urlencoded,提交的数据格式就是key1=value1&key2=value2的方式. NSURL *url=nil; NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url cachePolicy:0 timeoutInterval:2.0f]; NSString *str=[NSString st

计算机底层知识拾遗(三)理解磁盘的机制

磁盘是一种重要的存储器,位于主存结构的下方,是永久存储的介质.在计算机底层知识拾遗(一)理解虚拟内存机制 这篇中说了虚拟内存是面向磁盘的,理解磁盘的工作原理对理解计算机的很多概念有很大的帮助.尤其是在数据库和分布式存储领域,要经常和磁盘打交道. 磁盘这块主要有几个部分的概念: 1. 磁盘的基本结构和工作原理 2. 如何在虚拟内存机制下与内存高效地交换数据 3. 磁盘如何保证数据存储的可靠性及故障恢复 磁盘的基本结构和工作原理 从单个磁盘来说,由一个个的同心圆组成,一个同心圆就是一个磁道,每个磁道

JDBC编程理论知识(1)

1.SUN公司为统一对数据库的操作,定义了一套Java操作数据库的规范,称之为JDBC 2.JDBC全称为:Java Data Base Connectivity(java数据库连接),它主要由接口组成. 组成JDBC的2个包: (1)java.sql.*; (2)javax.sql.*; 3.JDBC在程序中的位置: 4.JDBC的六个固定步骤 1,注册数据库驱动[利用反射] 2,取得数据库连接对象Connection 3,创建SQL对象 4,执行SQL命令,并返回结果集 5,处理结果集 6,

数据库入门理论知识介绍

数据库入门理论知识介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 前言: 1.目前90%以上的公司面临的运维的瓶颈都在后端 最常见的2大瓶颈就是: 1>.数据库(极难扩展): 2>.存储: 所以说做互联网的运维工程师要是把以上两点问题解决就可以轻松的搞定整个架构 2.什么是数据库: 查百度上有长篇大论了一下数据库特点,我们可以简单的理解: 数据库就是一个存放数据的仓库,这个仓库按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来组织,存储的,我们可以通过数

ipv4理论知识2-分类编址、ip分类、网络标识、主机标识、地址类、地址块

分类编址 ipv4的体系结构中有分类编址和无分类编址(后续会介绍到),在分类编址时,ipv4地址分为A.B.C.D.E这5类.每类占用的IP比例和个数如下图: ipv4分类识别 计算机以二进制方式存储ipv4地址,在这种情况下可以和方便的写出一种算法,通过一个连续检查过程来查找出该ip地址的类别.流程图如下: 网络标识和主机标识 对于A.B.C类IP地址,都可以划分为网络标识和主机标识两部分.其中网络标识和主机标识的长度随地址类别的不同变化.网络标识和主机标识其实很好理解就相当于我们使用的电信的