(补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式

news2024/12/23 13:23:40

文章目录

  • 前言
  • 一、进制
    • 1 逢几进一
    • 2 常见进制在java中的表示
    • 3 进制中的转换
      • (1)任意进制转十进制
      • (2)十进制转其他进制
  • 二、计算机中的存储
    • 1 计算机的存储规则(文本数据)
      • (1)ASCII码表
      • (2)编码规则的发展演化
    • 2 计算机的存储规则(图片数据)
      • (1)分辨率、像素
      • (2)黑白图与灰度图
      • (3)彩色图
    • 3 计算机的存储规则(音频数据)
  • 三、原码、反码和补码
    • 1 原码
    • 2 反码
    • 3 补码
    • 4 总结一下
    • 5 字节范围推广
    • 6 数据类型转换中的隐式转换和强制转换一些例子就可以用补码的知识来解释了
      • (1)同一个整数在 byte、short、int、long下面补码分别表示什么呢?
      • (2)隐式转换
      • (3)强制转换
  • 总结


前言

本文会介绍:

  • java中的各种进制的转换关系
  • 计算机中文本、图片、音频三种数据类似是怎么存在计算机中的
  • 普及图像、和音频的一些常识知识

计算机数据分为三种: 文本(Text)数据:数字,字母,特殊符号等等、(Image)图片数据、(Sound)声音数据。有且仅有这三种,其中视频是图片和音频数据的组合。

【注】:无论是文本、图片、还是音频计算机都是以二进制存储,即用一堆0,1数字来表示。这是怎么做到的,下面我们简单了解一下,其实这块属于计算机组成原理的知识。
先来了解一下进制吧。


一、进制

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)编码规则的发展演化

    1. GB2312编码:1981年5月1日发布的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个汉字。
    1. BIG5编码:台湾地区繁体中文标准字符集,共收录13053个中文字,1984年实施。
    1. GBK编码:2000年3月17日发布,收录21003个汉字,包含国家标准GB13000-1中的全部中日韩汉字,和BIG5编码中的所有汉字。
    1. Unicode编码:国际标准字符集,它将世界各种语言的每个字符定义一个唯一的编码,以满足跨语言、跨平台的文本信息转换。

在这里插入图片描述

【注】:这个过程中还产生了一些其他的编码,如我们常用的utf-8编码等。
总结一下就是,数字—>二

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1923686.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 复现Docker NAT网络

Linux 复现Docker NAT网络 docker 网络的构成分为宿主机docker0网桥和为容器创建的veth 对构成。这个默认网络命名空间就是我们登陆后日常使用的命名空间 使用ifconfig命令查看到的就是默认网络命名空间,docker0就是网桥,容器会把docker0当成路由&…

linux nethogs网络监控程序(端口监控、流量监控、上传流量、下载流量、进程监控进程网络)

文章目录 Nethogs 网络监控程序详解1. 引言2. Nethogs 的安装与运行2.1 安装 Nethogs- **Debian/Ubuntu**- **Fedora**- **Arch Linux** 2.2 运行 Nethogs 3. Nethogs 的使用详解3.1 基本界面- **PID**:进程的 ID。- **用户**:运行该进程的用户。- **程序…

【Linux网络】数据链路层【上】{初识数据链路层/以太网/路由表/MAC地址表/ARP表/NAT表}

文章目录 1.初识数据链路层2.认识以太网2.0前导知识以太网帧和MAC帧CMSA/CD以太网的最小帧长限制是64字节IP层和MAC层 2.1以太网帧格式 3.预备知识计算机网络通信以太网和wifi路由表/MAC地址表/ARP表/NAT表/ACL表 用于同一种数据链路节点的两个设备之间进行信息传递。 1.初识数…

美团一面,你碰到过CPU 100%的情况吗?你是怎么处理的?

本文主要分为三部分 分析一下CPU 100%的常见原因 CPU 100%如何排查 回答这个问题的一个参考答案 CPU被打满的常见原因 1. 死循环 在实际工作中,可能每个开发都写过死循环的代码。 死循环有两种: 在 while、for、forEach 循环中的死循环。 无限递…

期末成绩单怎么单独发给家长,这个小工具超简单!

随着期末考试的落幕,老师们再次迎来了成绩处理的高峰期。传统的成绩单分发方式不仅耗时,还容易出错。但如今,有了易查分小程序,这一过程变得简便而高效。 易查分小程序,一个专为教师和家长设计的便捷工具,让…

[ruby on rails]部署时候产生ActiveRecord::PreparedStatementCacheExpired错误的原因及解决方法

一、问题: 有时在 Postgres 上部署 Rails 应用程序时,可能会看到 ActiveRecord::PreparedStatementCacheExpired 错误。仅当在部署中运行迁移时才会发生这种情况。发生这种情况是因为 Rails 利用 Postgres 的缓存准备语句(PreparedStatementCache)功能来…

【Apache Doris】周FAQ集锦:第 10 期

【Apache Doris】周FAQ集锦:第 10 期 SQL问题数据操作问题运维常见问题其它问题关于社区 欢迎查阅本周的 Apache Doris 社区 FAQ 栏目! 在这个栏目中,每周将筛选社区反馈的热门问题和话题,重点回答并进行深入探讨。旨在为广大用户…

算法力扣刷题记录 四十五【110.平衡二叉树】

前言 二叉树篇继续 记录 四十五【110.平衡二叉树】 一、题目阅读 给定一个二叉树,判断它是否是 平衡二叉树。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:true示例 2: 输入:root [1,2,2,3,3…

【鸿蒙学习笔记】尺寸设置・width・height・size・margin・padding・

官方文档:尺寸设置 目录标题 width:设置组件自身的宽度height:设置组件自身的高度size:设置高宽尺寸margin:设置组件的外边距padding:设置组件的内边距 width:设置组件自身的宽度 参数为Length…

【零基础】学JS之APIS第三天

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

10分钟快速了解神经网络(Neural Networks)

神经网络是深度学习算法的基本构建模块。神经网络是一种机器学习算法,旨在模拟人脑的行为。它由相互连接的节点组成,也称为人工神经元,这些节点组织成层次结构。 Source: victorzhou.com 神经网络与机器学习有何不同? 神经网络是…

电脑资料丢失不用慌,5招教你恢复数据

在数字化时代,电脑资料的安全与完整对我们而言至关重要。然而,生活中总有一些小插曲,如意外删除、系统故障或病毒攻击等,导致电脑上的重要资料消失得无影无踪。面对这种情况,我们往往感到焦虑和无助。今天,…

LabVIEW心电信号自动测试系统

开发了一种基于LabVIEW的心电信号自动测试系统,通过LabVIEW开发的上位机软件,实现对心电信号的实时采集、分析和自动化测试。系统包括心电信号采集模块、信号处理模块和自动化测试模块,能够高效、准确地完成心电信号的测量与分析。 硬件系统…

在 SwiftUI 中的作用域动画

文章目录 前言简单示例动画视图修饰符使用多个可动画属性使用 ViewBuilder总结 前言 从一开始,动画就是 SwiftUI 最强大的功能之一。你可以在 SwiftUI 中快速构建流畅的动画。唯一的缺点是每当我们需要运行多步动画或将动画范围限定到视图层次结构的特定部分时&…

网络规划设计师教程(第二版) pdf

网络规划设计师教程在网上找了很多都是第一版,没有第二版。 所以去淘宝买了第二版的pdf,与其自己独享不如共享出来,让大家也能看到。 而且这个pdf我已经用WPS扫描件识别过了,可以直接CtrlF搜索关键词,方便查阅。 链接…

股指期货存在的风险有哪些?

股指期货因其标的物的特殊性,其面临的风险类型十分复杂,主要面临的一般风险和特有风险如下: 一般风险 从风险是否可控的角度,可以划分为不可控风险和可控风险;从交易环节可分为代理风险、流动性风险、强制平仓风险&…

linux 安装redis 遇到问题解决方案

1.当下载了redis包时(version:6.0.6) 进入解压后的redis目录(这里采用tar包安装) 当执行make命令时 如果遇到如下情况: 查看当前服务起的gcc 版本:因为redis需要c编译器编译 gcc -v centos 7 …

使用亮数据代理IP+Python爬虫批量爬取招聘信息训练面试类AI智能体

本文目录 一、引言二、开发准备三、代码开发四、使用亮数据进行高效爬取4.1 为什么需要亮数据4.2 如何使用亮数据 五、使用数据训练AI智能体六、 总结 一、引言 在当今AI迅速发展的时代,招聘市场正经历着前所未有的变革。传统的招聘方式已难以满足双方的需求。AI智…

Transformer模型:Postion Embedding实现

前言 这是对上一篇WordEmbedding的续篇PositionEmbedding。 视频链接:19、Transformer模型Encoder原理精讲及其PyTorch逐行实现_哔哩哔哩_bilibili 上一篇链接:Transformer模型:WordEmbedding实现-CSDN博客 正文 先回顾一下原论文中对Posit…

如何巧妙运用百川工作手机微信行为监控 防范员工离职带走客户

在竞争日益激烈的商业环境中,企业最宝贵的资产莫过于忠诚的客户群体与高效协作的团队。然而,当团队中不可避免地出现人员流动时,如何有效防止客户资源流失,成为众多企业管理者面临的严峻挑战。百川工作手机,作为一款专…