Java编程那些事儿8——计算机内部的数据表达[Java编程]
本文“Java编程那些事儿8——计算机内部的数据表达[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
1.3 计算机内部的数据表达
计算机内部数据表达的总原则就是:把一切内容数值化、数字化.这个也是编程时处理数据的基本方法,关于编程理解的越深化,则将越认同该原则.
其实计算机也只能这样,因为计算机内部只能存储0和1两个数字,所以必须把指令、数据、图片、文本等各种各样的内容数字化成0和1举行存储、传输和显示.
1.3.1 整数的表达
整数有正负之分,但是计算机内部只能存储0和1,则计算机内部将标记数字化,用二进制码的最高位代表标记位,规定该位为0代表正,1代表负.这就是标记数字化的规定.
前面介绍过整数在计算机内部都是以二进制的情势保存的.但是为了计算便利,以及简化CPU的构造,所以在存储和运算时都采取补码的情势.
前面介绍的那些直接计算出来的二进制情势,都称作整数的原码.规定正数的原码、反码和补码都是自身.
而关于负数,细心研究一下其构成格局.以8位机为例,也就是一个数字占计算机中的8位,也就是一个字节,用最高位存储标记位,别的的位存储数值.比方-8的原码是10001000,最高位的1代表负数,后续的7位代表数值.
负数的反码是指标记位不变,其他的位取反,也就是0变1,1变0,则-8的反码是11110111.
负数的补码是指在反码的数值位上加1,运算后得到的后果,只计算数值位,不改变标记位.则-8的补码是11111000,该次运算中,低位向高位举行了进位.
规律:补码的补码等于负数的原码.
也就是对负数的补码再求补,则得到的负数的原码.
熟习整数的表达,关于后续理解数据的区间以及举行强迫转换今后得到的数值很有帮忙,也是举行位运算的底子.
备注:小数,编程语言中称浮点数,的存储情势和整数差别.
1.3.2 字符的表达
字符指计算机内部单个的标记,如标点标记、英文字母和汉字等等.因为这些字符种类各异,计算机无法直接表达,那么就采取了计算机编程中也常用的方法,对每个字符举行编号,比方规定a字符编号为97,b字符编号为98等等.
由于需求编号的字符很多,就专门规定了一系列字符和编号的对应法则,那么这些对应表就被称作字符集,常见的字符集有ASCII、GB2312、BIG5等.
在计算机内部存储、运算和传输时,都只需求利用该编号便可.
字符集对比完善的办理了字符的存储和传输的问题.
所以字符在程序内部可以参与运算,其实参与运算的就是这个字符的编号,字符集规律是很多字符变更逻辑实现的底子.
备注:字符的显示则通过专门的字符显示码实现.
1.3.3 总结
其实计算机内部全部的东西都是以数字的情势存储的,这里只是但愿通过这两种简单的构造,使大家理解将数据数字化的思惟,这是编程经常用的思惟之一.
文章根源:http://blog.csdn.net/Mailbomb/archive/2008/04/08/2261419.aspx
以上是“Java编程那些事儿8——计算机内部的数据表达[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |