栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

【C#】整数在内存中的存储

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【C#】整数在内存中的存储

在C语言中,整数是按照二进制存储的。

一个整型是4个字节,一个字节是8个比特位,4*8=32。

比如-3这个数字,在内存中就是10000000000000000000000000000011

关于原码、反码、补码

系统在内存中存放数据的时候,会先把二进制源码转化为反码,在把反码转换为补码,最后存放到内存中。

原码

什么是原码?像我们前面的-3,直接转化成二进制就是原码了。

反码

怎么得出反码呢?其实就是由原码的符号位不变,其他位按位取反得到的,那么-3的反码就是

11111111111111111111111111111100

符号位就是二进制从左开始的第一位,如果是正数就是0,如果是负数就是1,比如3的源码是

00000000000000000000000000000011

补码

补码就是在反码的基础上给二进制位加上个1,那么就得到了

11111111111111111111111111111101

我们还要知道一件事情,那就是正数的原码、补码、反码是一样的,这就是为什么我们前面要用-3来举栗子

当要用到-3的时候,系统就会将-3的补码转换成反码(减1),再将反码转换成原码(符号位不变,其他位按位取反),就得到了原来的数字。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/873428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号