原码,反码,补码以及计算

简介: 原码,反码,补码以及计算

愿所有美好如期而遇


我们的数据在计算机中都是以二进制形式存储的,而数据都有不同类型,但总归都会转换成数值。

原码:将数值转换成二进制。

  • 正数首位为0,表示正数
  • 负数首位为1,表示负数

反码:

  • 正数:同原码
  • 负数:在原码的基础上,符号位不变,其他位按位取反

补码:

  • 正数:同原码
  • 负数:在反码基础上,加1

而且计算机只有加法器,没有减法器,那么如何进行减法呢?也就是一个整数加上一个负数,同时,数值在计算机存储时按照补码存储,不按原码和反码存储,同时,计算时也是按照补码进行计算,因为这样可以将符号位和存储大小的位进行统一处理,而原码就不可以,我们来验证一下:

我们来探讨一下char的大小范围以及其原因:

那么如果一个超过范围的数赋值给char类型的变量会怎么样?我们画个图来理解

如果说129赋值给一个char类型的变量,那么可以这样理解,127+2,也就是在圈里顺时针走两位,也就是-127。

目录
相关文章
|
自然语言处理 区块链 Python
传统的序列模型CRF与HMM区别
传统的序列模型CRF与HMM区别
|
10月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
274 7
|
11月前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
机器学习/深度学习 存储
数据的表示:原码、反码、补码、移码以及浮点数的运算
数据的表示:原码、反码、补码、移码以及浮点数的运算
673 0
数据的表示:原码、反码、补码、移码以及浮点数的运算
|
存储 负载均衡 算法
|
人工智能 自然语言处理 搜索推荐
大模型时代,如何让AI客服“听懂人话”、“更有温度”?
大模型时代,如何让AI客服“听懂人话”、“更有温度”?
639 1
|
人工智能 安全 JavaScript
太壕了!堪比copilot的阿里编码助手免费用还送礼品
阿里云通义灵码,AI编码助手下载量超150万,集成于VS Code和JetBrains等,支持多种语言。它能智能生成代码、单元测试和注释,快速解答研发问题,确保代码安全。免费且强大,已成国内开发者首选。立即体验:[链接](https://www.aliyun.com/page-source/developer/special/lingma/activities/202403?taskCode=14508&recordId=03941f813393f7757af18d0468c5c1e0#/?utm_content=m_fission_1)。
|
机器学习/深度学习 PyTorch 测试技术
【Pytorch(七)】基于 PyTorch 实现残差神经网络 ResNet
【Pytorch(七)】基于 PyTorch 实现残差神经网络 ResNet
【Pytorch(七)】基于 PyTorch 实现残差神经网络 ResNet
elementUI 写一个表头列名、表体单元格样式、翻页器相对较为动态的表格el-table
elementUI 写一个表头列名、表体单元格样式、翻页器相对较为动态的表格el-table
elementUI 写一个表头列名、表体单元格样式、翻页器相对较为动态的表格el-table