首页 > 其他分享 >关于计算机负数的储存

关于计算机负数的储存

时间:2023-01-31 19:34:05浏览次数:29  
标签:储存 0000 计算机 31 等价 负数 1111

计算机内部储存中,负数以其补码的形式存在,原因是在模意义下加上一个负数等价于加上一个mod-该数等价于数取反加一(所有操作均是为了避开减法)。

因此在32位二进制储存中最高位32位为符号位1000 0000 0000 0000 0000 0000 0000 0000 表示最大的负数,0111 1111 1111 1111 1111 1111 1111 1111(2^31)表示为最大的整数。

并且一个数>>31为可以得到它的符号位;

例(绝对值函数)

int abs(int t)
{
return (n^(n>>31))-n>>31;

}

//“-”号等价于加上该数取其反码加一表示的数,故若n为负数n>>31的二进制表示为1111 1111 ......1111,-号运算后为0000.......0001等价于加1//
//n^(n>>31)由上可知n右移31位后其二进制表示为1111 1111 .....1111,“1”与原数异或其实等价于求其反码//
//因此当n为负数时该式子其实就是在逆向求其对应正数的原码,与求补码方式相同,即先求其反码再加一(其实就是“-”号运算)//
//若为n为正数分析思路一样
//核心即是理解负数的储存形式为其补码

参考链接:

https://blog.csdn.net/u014082714/article/details/43193173

https://oi-wiki.org/math/bit/

标签:储存,0000,计算机,31,等价,负数,1111
From: https://www.cnblogs.com/j1y1-awsd/p/17080279.html

相关文章

  • 计算机组成
    学软件看硬件的目的主要就是看速度和承受边界一、计算机的体系三层结构二、计算机五大组成部分控制器运算器控制器与运算器组成CPUCPUX86-64:X86是CPU的型号,是这......
  • 计算机必备经典书籍
    关注博主的微信公众号:【高性能架构探索】回复“pdf”即可领取相关电子书和C++教程大全最近闲来无事整理了自己的书单,从入门到进阶,从底层到上层,从语言到操作系统,各......
  • 计算机栈stack存在的意义
    栈是现代化计算机不可或缺的设计元素当初代计算机已经实现了单次计算和累加计算并能够实现正确的存取结果我们开始了对于数据结构的思考而更高的自动化的实现却需要数据......
  • 计算机锁原理
    随着多进程多线程的出现,对共享资源(设备,数据等)的竞争往往会导致资源的使用表现为随机无序例如:一个线程想在控制台输出"Iamfine",刚写到"Iam",就被另一线程抢占控制台输......
  • 常见计算机行业的公司
    AMD:美国超威半导体公司:美国AMD半导体公司专门为计算机、通信和消费电子行业设计和制造各种创新的微处理器(CPU、GPU、主板芯片组、电视卡芯片等),以及提供闪存和低功率处理器......
  • 计算机网络查看路由表命令,如何查看、添加、修改、删除路由器内部的路由表项
    操作步骤:1、首先,我们看看如何在dos界面下获取帮助信息;可以通过命令:【help】回车;或者【关键字/?】这两种方式。2、如何查看电脑内部路由;可以通过命令:【routeprint......
  • 个人自学计算机学习大纲
    一、计算机四大核心基础计算机组成计算机网络操作系统数据结构二、研发需要c/java、ruby(个人学习)软件工程编译原理算法数据库三、落实技术栈Rubyon......
  • 计算机网络连环炮40问
    本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招......
  • 计算机网络基础
    1.什么是网络?网络就是使用连接设备将终端设备通过传输介质连接起来,进行数据的传输终端设备:个人电脑手机ipad等设备连接设备:路由器、交换机、网桥、中继器等设......
  • 一个简单的CAD仿真程序——《电子电路的计算机辅助分析与设计方法(第2版)》附录源代码
    注意,这个代码只支持简单的直流分析。测试代码如下:V1105R14010R230100R3432D1120.011e-140.6R43210z头文件如下:#include<stdio.h>#incl......