ToB企服应用市场:ToB评测及商务社交产业平台
标题:
(补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的
[打印本页]
作者:
我爱普洱茶
时间:
2024-7-14 06:19
标题:
(补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的
<hr>
前言
本文会介绍:
java中的各种进制的转换关系
计算机中文本、图片、音频三种数据雷同是怎么存在计算机中的
普及图像、和音频的一些知识知识
计算机数据分为三种: 文本(Text)数据:数字,字母,特殊符号等等、(Image)图片数据、(Sound)声音数据。有且仅有这三种,其中视频是图片和音频数据的组合。
【注】:无论是文本、图片、还是音频计算机都是以二进制存储,即用一堆0,1数字来体现。这是怎么做到的,下面我们简单相识一下,其实这块属于计算机组成原理的知识。
先来相识一下进制吧。
<hr>
一、进制
1 逢几进一
十进制:逢十进一
二进制:逢二进一
八进制:逢八进一
十六进制:逢十六进一
什么意思呢?以十进制逢十进一和二进制的逢二进一来说。
如下图所示:
2 常见进制在java中的体现
二进制:由0和1组成,代码中以0b开头
十进制:由0-9组成,java默认十进制,前面不加任何前缀
八进制:由0-7组成,代码中以0开头
十六进制:由0-9还有a-f组成,代码中以0x开头
十六进制内里a-f解释一下:
【0】 【1】 【2】 【3】 【4】 【5】 【6】 【7】 【8】 【9】 【a】 【b】 【c】 【d】 【e】 【f】 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 下面给出java代码例子:
public class HelloWord{
public static void main(String[] args){
System.out.println(17); // 十进制 17
System.out.println(017); // 八进制 15
System.out.println(0x123); // 十六进制 291
System.out.println(0b123); // 语法错误
}
}
复制代码
【注】:代码中写要加前缀,但是用System.out.println()出来的都是转换成十进制打印出来的
3 进制中的转换
(1)任意进制转十进制
公式: 系数 * 基数的权次幂 相加
系数: 就是每一位上的数
基数:当前进制数
权:从右往左,依次为 0 1 2 3 4…
计算过程如下图:
除了上述通用的转换方法,部分进制之间还存在一些快速转换本领。
二进制转十进制:8421快速转换法
:
其实就是查表
(2)十进制转其他进制
除基取余法
不断的除以基数(几进制,基数就是几)得到余数,直到商为0,再将余数倒着拼起来即可。
二、计算机中的存储
1 计算机的存储规则(文本数据)
学了进制过后,相信文本数据中的数数字你已经知道怎么存的了
99直接转成二进制,那字母‘a’呢?— ASCII码表
(1)ASCII码表
题目又来了,字母可以用ASCII码表,但是汉字这个表内里没有啊,怎么办?继续在这张表上面加就是了,然后就不断发展出来了多种编码规则
(2)编码规则的发展演化
GB2312编码:1981年5月1日发布的简体中文汉字编码国家尺度。收录7445个图形字符,其中包罗6763个汉字。
BIG5编码:台湾地区繁体中文尺度字符集,共收录13053个中文字,1984年实施。
GBK编码:2000年3月17日发布,收录21003个汉字,包含国家尺度GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
Unicode编码:国际尺度字符集,它将天下各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。
【注】:这个过程中还产生了一些其他的编码,如我们常用的utf-8编码等。
总结一下就是,数字—>二
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4