计算机的进制和运算

article/2025/9/16 11:11:15

计算机的进制和运算

      • 1. 基本概念
      • 2. 运算
      • 3. 逻辑右移和算术右移
      • 4. 浮点数
      • 6. 数据类型
      • 7. 指针
      • 8. ByteBuffer

1. 基本概念

计算机处理信息的最小单位是位,就相当于二进制中的一位。位的英文bit是二进制数位(binary digit)的缩写。

8位二进制数被称为一个字节

字节是最基本的信息计量单位。

位是最小单位,字节是基本单位。

十进制数是以10为基数的计数方法,二进制数则是以2为基数的计数方法,八进制就是8,十六进制就是16。

2. 运算

移位运算指的是将二进制数值的各数位进行左右移位(shift=移位)的运算。

移位有左移(向高位方向)和右移(向低位方向)两种。

示例:左移两位运算
左移和右移
补数:补数求解的变换方法就是“取反+ 1”。

为了获得补数,我们需要将二进制数的各数位的数值全部取反,然后再将结果加1。
补数
算术运算是指加减乘除四则运算。

逻辑运算是指对二进制数各数字位的0和1分别进行处理的运算,包括逻辑非(NOT运算)、逻辑与(AND运算)、逻辑或(OR运算)和逻辑异或(XOR运算)四种。

  1. 逻辑非指的是0变成1、1变成0的取反操作。
  2. 逻辑与指的是“两个都是1”时,运算结果为1,其他情况下运算结果都为0的运算。
  3. 逻辑或指的是“至少有一方是1”时,运算结果为1,其他情况下运算结果都是0的运算。
  4. 逻辑异或指的是排斥相同数值的运算。
    真值表
    真值表
    示例:
    实例

3. 逻辑右移和算术右移

将二进制数作为带符号的数值进行运算时,移位后要在最高位填充移位前符号位的值(0或1)。这就称为算术右移。
位移

符号扩充就是指在保持值不变的前提下将其转换成16位和32位的二进制数。
符号扩充

4. 浮点数

浮点数是指用符号、尾数、基数和指数这四部分来表示的小数。
浮点数
双精度浮点数类型用64位、单精度浮点数类型用32位来表示全体小数

双精度浮点数能够表示的正数范围是4.94065645841247×10-324~1.79769313486232×10308,负数范围是-1.79769313486232×10308~-4.94065645841247×10-324。

单精度浮点数能够表示的正数范围是1.401298×10-45~3.402823×1038,负数范围是-3.402823×1038~-1.401298×10-45。

浮点数内部构造(IEEE标注)
浮点
双精度浮点数能够表示的数值范围要大于单精度浮点数。

符号部分 是指使用一个数据位来表示数值的符号。该数据位是1时表示负,为0时则表示“正或者0”。
尾数部分 用的是“将小数点前面的值固定为1的正则表达式”。
指数部分 用的则是“EXCESS系统表现”。
EXCESS系统表现
通过将指数部分表示范围的中间值设为0,使得负数不需要用符号来表示。
当指数部分是8位单精度浮点数时,最大值11111111=255的1/2,即01111111=127(小数部分舍弃)表示的是0,指数部分是11位双精度浮点数时,11111111111=2047的1/2,即01111111111=1023(小数部分舍弃)表示的是0。

计算机出错
计算机计算出错的原因之一是,采用浮点数来处理小数(另外,也有因“位溢出”而造成计算错误的情况)。

解决:
回避策略,即无视这些错误。
把小数转换成整数来计算。
5. 二进制数和十六进制数
通过使用十六进制数,二进制数的位数能够缩短至原来的1/4。

6. 数据类型

1字节长度的char
2字节长度的short
4字节长度的long
8字节(=64位)长度的double

7. 指针

指针也是一种变量,它所表示的不是数据的值,而是存储着数据的内存的地址。通过使用指针,就可以对任意指定地址的数据进行读写。

指针的数据类型表示一次可以读写的长度

8. ByteBuffer

三种实现方式:

第一种是堆内存储数据的HeapByteBuffer,将数据保存在JVM堆内存中;

第二种是堆外存储数据的DirectByteBuffer,采用堆外内存来存放数据的,因此在访问性能提升的同时带来了复杂的动态内存管理问题。;

第三种是文件映射(数据存储到文件中)的MappedByteBuffer。


http://chatgpt.dhexx.cn/article/EIuTpVol.shtml

相关文章

计算机系统中常用的进制,计算机常用进制详解

内容 进制的由来 生活中的常用进制 二进制的介绍 四种进制说明 八进制和十六进制 常用进制间的转换 1、进制的由来 进制:进位计数制 原始的计数方式 结绳计数 书契计数 算盘 正字计数法 2、生活中的常用进制 十进制 七进制(0~6,星期) 十二进制(0~11&…

计算机进制转换

文章目录 一.基本概念二.计算机的数值1.KIB、MIB与KB、MB的区别2.数值的表示 三.进制转换1.十进制的转换1.1十进制二进制的转换1.2十进制八进制的转换1.3十进制十六进制的转换 2.二进制八进制十六进制的转换2.1二进制八进制的转换2.2二进制与十六进制的转换2.3八进制十六进制的…

计算机进制转换(看完这一篇你就全懂了)—基础篇

我相信很多人都学过进制的转换,但是总是转不过来,你只需要看完这一篇,你对进制的理解与转换一定会很熟练。 众所周知计算机只能识别0和1,其他的文字、数字、字符只能通过转换成进制,然后让计算机识别,并显示…

一文带你读懂计算机进制

hi,大家好,我是开发者FTD。在我们的学习和工作中少不了与进制打交道,从出生开始上学,最早接触的就是十进制,当大家学习和使用计算机时候,我们又接触到了二进制、八进制以及十六进制。那么大家对进制的认识和…

计算机进制转换a是什么,[计算机基础] 计算机进制转换:二进制、八进制、十进制、十六进制...

计算机进制转换:二进制、八进制、十进制、十六进制 一、什么是进制 在生活中,我们通常都是使用阿拉伯数字计数的,也就是10进制,以10为单位,遇10进一,所以是由0,1,2、3、4、5、6、7、…

用计算机进行进制换算方法,计算机进制怎么转换?计算机进制换算方法

如果你正在学习计算机知识,必然需要掌握计算机进制的换算方法。很多同学对于进制换算已经炉火纯青,即便我们可以使用科学计算器程序进行换算,但多数时候使用计算器还没有我们心算更快呢,你说是吧。如果是复杂式我们还需要打草稿,使用计算器反而添乱。阅读下文了解计算机进…

计算机中的进制

进制概念 今天我们来复习一下进制之间的转换,首先我们先来了解一下什么是进制?进制也就是人们规定的一种进位的方法,比如二进制就是逢二进一,也就是说0,1之后就该进位,然后就是10,11&#xff0c…

计算机中的进制(二进制,八进制,十进制,十六进制)

编写背景 最近做了个项目&#xff0c;对接蓝牙设备通信&#xff0c;对接的时候第三方的设备需要协议加密&#xff0c;就用到了位运算(&,>>,<<),只是这个加密算法不是我写的&#xff0c;是公司的架构师写的&#xff0c;他是写java的。呵呵呵…我看了他的javasc…

计算机进制转换:二进制、八进制、十进制、十六进制

一、什么是进制 在生活中&#xff0c;我们通常都是使用阿拉伯数字计数的&#xff0c;也就是10进制&#xff0c;以10为单位&#xff0c;遇10进一&#xff0c;所以是由0&#xff0c;1&#xff0c;2、3、4、5、6、7、8、9组成的&#xff1b;而在计算机中&#xff0c;计算机是无法…

计算机的进制转换

目录 一、计算机的数制1.1数制1.2数位1.3基数1.4位权 二、数制的表示三、数制分类3.1十进制3.2二进制3.3十六进制 四、数制转换4.1二进制、十六进制转换为十进制4.2二进制转换为十六进制4.3十进制转换为二进制、十六进制4.4常见的八位二进制数 五、存储量总结 一、计算机的数制…

计算机基础--进制转换

计算机基础之进制转换 一、什么叫进制&#xff08;system&#xff09; 学习进制转换之前&#xff0c;我们要先知道什么是进制&#xff0c;进制也就是进位计数制&#xff0c;对于任何一种进制——n进制&#xff0c;就表示每一位置上的数运算时都是逢n进一位&#xff0c; 十进制…

计算机中的数制

文章目录 一、计算机中的各种数制1. 十进制2. 二进制3. 十六进制 二、不同数制间数的转换1. 二进制和十进制数间的转换&#xff08;1&#xff09;十进制整数转换成二进制整数&#xff08;2&#xff09;十进制小数转换成二进制小数 2. 十六进制和十进制数间的转换&#xff08;1&…

worklist 设备对接,pe 为例

1.部署worklist 服务&#xff0c;确保网路通畅。 2.在ct 机器配置服务器信息,包括ip port.aetitle,不同厂家配置方法不同。 3.更新患者列表&#xff0c;拉取服务器list 注意&#xff1a;返回列表中不能有中文 4.患者选择&#xff0c;查看患者详细信息 5.CT 机设置 注意&#…

Typo: In word ‘worklist‘

Typo: In word worklist 使用pycharm编辑的程序员&#xff0c;这条绿线对与像我这样的人来说&#xff0c;不能忍受&#xff0c;所以。。。 File>>Settting打开设置&#xff0c;如下图&#xff0c;先搜索inspections&#xff0c;在搜索Typo&#xff0c;把勾去掉 OK了&…

DICOM通讯(ACSE->DIMSE->Worklist)

下文中的worklist交互的测试数据&#xff0c;请在资源中下载&#xff0c;需要wireshark将文件打开&#xff0c;并且加入过滤条件ip.addr 192.168.2.193 and tcp.port 104 &#xff0c;并且选择dicom协议。 1 DICOM通讯概要介绍 DICOM通讯和TCP IP的设计原理别无二致。从用户数…

List..

List的使用 test.cpp #include <iostream> #include <list> #include <vector> using namespace std; namespace std {void test_list1(){//初始化list<int> lt1;//10个5list<int> lt2(10, 5);//自己的迭代器来初始化list<int> lt3(lt2.…

dicom worklist、pacs环境搭建

dcmtk的安装和使用 OFFIS DICOM 工具包 官网&#xff1a;dicom.offis.de - DICOM Software made by OFFIS - DCMTK - DICOM Toolkit windows版本下载地址&#xff1a;https://dicom.offis.de/download/dcmtk/dcmtk366/bin/dcmtk-3.6.6-win64-dynamic.zip 部分工具包使用方法…

dcmtk在PACS开发中的应用(基础篇) 第三章 工作列表(Work List)(一)( BY 冷家锋)

觉得对您有帮助&#xff0c;欢迎打赏&#xff08;打赏码在文末&#xff09;&#xff0c;欢迎切磋。 博客不常来&#xff0c;评论不一定都能看到&#xff0c;看到了我会尽力回复&#xff08;更新于2019年7月26日&#xff09; 第三章 工作列表&#xff08;Work List&#xff09…

WorkManager

WorkManager对比AsyncTask, ThreadPool的优势&#xff1a;WorkManager里面的任务在应用退出之后还可以继续执行。AsyncTask, ThreadPool里面的任务在应用退出之后不会执行。WorkManager自动选用JobScheduler, 或是AlarmManager来实现后台任务。 使用WorkManager的一些任务示例…

【SimpleList】

list_item.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:orientation"vertical"android:l…