计算机中数的表示与大小端法

2024-04-17 21:58

本文主要是介绍计算机中数的表示与大小端法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 二进制整数的补码表示:
用最高位表示符号位,其余位表示数值。这样一来可以表示正数和负数(有符号数)。
如果符号位为0,说明是正数。真值=本身
如果符号位为1,说明是负数。真值=-(本身取反+1)

正数的补码=本身。
负数的补码=本身取反+1

如果用1个字节表示一个有符号数,则它的取值范围是[-127,128]。
如果用2个字节表示一个有符号数,则它的取值范围是[-32767,32768].

0始终表示为0000~
1个字节的有符号数,1=00000001,-1=11111111,3=00000011,-3=11111100
2个字节的有符号数,1=0x0001,-1=0xffff,3=0x0003,-3=fffC.

2. 大端法和小端法:

计算机中基本的存贮单元是字节,如果用2个字节表示1,某个字节应该放00000000,另一个字节应该方00000001.
把这些存贮单元看成字节数组,那么[0]单元应该放00000000还是00000001?
问题归结为存贮单元低字节放高位还是低位?如果低字节放高位,高字节放低位,称为大端表示法。否则称为小端表示法。



Java对其基本类型的内存表示用的正是大端表示法。TCP/IP协议采用的也是大端表示法。

不同的CPU架构所采用的大小端模式也不同。
PowerPC、IBM、Sun的处理器采用大端表示法来表示内存和CPU数据。
Intel x86,DEC的处理器采用小端表示法来表示内存和CPU数据。
ARM可工作在大端模式也可工作在小端模式。

文件的数据也有大小端之分:
Adobe PS,JPEG,Windows下的ansi编码的txt文件,是大端表示法。
GIF,BMP文件是小端表示法。

---用下面的java 程序可以检验出Java语言用大端表示法:
 public static void main(String[] args){
                FileOutputStream outStream =  new FileOutputStream(new File("File_test1.txt"));
        byte[] short_bytes = new byte[]{0x31,0x32};
        outStream.write(short_bytes);
        outStream.close();
        
        FileOutputStream outStream2 =  new FileOutputStream(new File("File_test2.txt"));
        short c_12=0x3132;
        DataOutput dout = new DataOutputStream(outStream2);
        dout.writeShort(c_12);
        outStream2.close();
}
先用大端表示法将字节数组0x3132(文本表示是12)写入文件File_test1.txt,再将0x3132这个类型为short的数字写入文件File_test2.txt;
用文本编辑器打开File_test1.txt和File_test2.txt,可以发现内容都显示为:12 (如果Java用小端表示法,则File_test2.txt内容应该显示21),因此可以断定Java用大端表示法。


---用下面的java 程序可以检验出CPU用的是大端表示法还是小端表示法:
 public static void main(String[] args) {
         if (ByteOrder.nativeOrder() == ByteOrder.BIG_ENDIAN) {
              System.out.println("BIG_ENDIAN");
            } else {
              System.out.println("LITTLE_ENDIAN");
            }

    }
如果运行机器的CPU是Intel系列,则显示 BIG_ENDIAN。








这篇关于计算机中数的表示与大小端法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/912959

相关文章

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

深入理解C++ 空类大小

《深入理解C++空类大小》本文主要介绍了C++空类大小,规定空类大小为1字节,主要是为了保证对象的唯一性和可区分性,满足数组元素地址连续的要求,下面就来了解一下... 目录1. 保证对象的唯一性和可区分性2. 满足数组元素地址连续的要求3. 与C++的对象模型和内存管理机制相适配查看类对象内存在C++中,规

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

【CSS in Depth 2 精译_024】4.2 弹性子元素的大小

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

《计算机视觉工程师养成计划》 ·数字图像处理·数字图像处理特征·概述~

1 定义         从哲学角度看:特征是从事物当中抽象出来用于区别其他类别事物的属性集合,图像特征则是从图像中抽取出来用于区别其他类别图像的属性集合。         从获取方式看:图像特征是通过对图像进行测量或借助算法计算得到的一组表达特性集合的向量。 2 认识         有些特征是视觉直观感受到的自然特征,例如亮度、边缘轮廓、纹理、色彩等。         有些特征需要通

【python计算机视觉编程——7.图像搜索】

python计算机视觉编程——7.图像搜索 7.图像搜索7.1 基于内容的图像检索(CBIR)从文本挖掘中获取灵感——矢量空间模型(BOW表示模型)7.2 视觉单词**思想****特征提取**: 创建词汇7.3 图像索引7.3.1 建立数据库7.3.2 添加图像 7.4 在数据库中搜索图像7.4.1 利用索引获取获选图像7.4.2 用一幅图像进行查询7.4.3 确定对比基准并绘制结果 7.