目录
变量的存储空间
获取变量类型所占的内存空间
变量的本质
二进制和十进制
十进制转换为二进制
原码、反码、补码
变量的存储空间
- 1TB = 1024GB
- 1MB = 1024KB
- 1KB = 1024byte
- 1byte = 8bit
- 1bit = 二进制表示,0或1
获取变量类型所占的内存空间
通过sizeof方法可以获取变量类型所占的内存空间(单位:字节)
int intSize = sizeof(int);
Console.WriteLine("int 所占的字节数为:" + intSize);
输出结果为:4,即一个int类型的变量占4个字节的空间
变量的本质
- 变量的本质是2进制 ⇒ 计算机中所有数据的本质都是二进制,是一堆0和1
为什么是2进制?
- 数据传递只能通过电信号,只有开和关两种状态。所以就用0和1来表示这两种状态,计算机中的存储单位最小为bit(位),他只能表示0和1两个数字;
- 计算机中的存储单位最小为bit(位),他只能表示0和1两个数字,1bit就是1个数,要不是0要不是1,为了方便数据表示出现一个叫byte(字节)的单位,它是由8个bit组成的存储单位,所以我们一般说一个字节为8位
二进制和十进制
数字3245如何分别用二进制和十进制来表示?
计算各个数位上的n次方的结果然后依次相加,但是数字很大的话依次列举就比较麻烦


十进制转换为二进制
使用短除法不断的除以2,直到除尽为止,然后从下往上依次列举出余数即为这个数的二进制的表达,然后补充完整的八位,用最高位(即最左边的一位)表示符号,剩下的位表示数值,所以31在计算机中的二进制表示为00011111

原码、反码、补码
反码、原码和补码是计算机中表示带符号整数的三种不同方法。它们主要用于表示正数和负数;
原码
原码是最简单的一种表示带符号数的方法,它用最高位(即最左边的一位)表示符号,剩下的位表示数值的绝对值。
- 符号位:最高位为0表示正数,最高位为1表示负数。
- 数值部分:用二进制表示数值的绝对值。
- 例子:
假设我们使用8位原码来表示整数:
- +5:原码为 00000101(符号位是0,表示正数,数值部分是5)
- -5:原码为 10000101(符号位是1,表示负数,数值部分是5)
反码
反码是将原码的数值部分取反(即0变1,1变0),符号位不变。
- 正数的反码和原码相同。
- 负数的反码是将原码的数值部分每一位取反。
- 例子:
假设我们使用8位原码来表示整数
- +5:反码为 00000101(正数,反码和原码相同)
- -5:原码是 10000101,反码是 11111010(负数,取反数值部分)
补码
补码是将反码加1。补码是现代计算机中最常用的表示带符号整数的方式,它具有一些优点,如加法和减法的运算更加简单。
- 正数的补码和原码相同。
- 负数的补码是反码加1。
- 例子:
假设我们使用8位原码来表示整数:
- +5:反码为 00000101(正数,反码和原码相同)
- -5:
- 原码: 10000101
- 反码: 11111010
- 补码: 11111010 + 1 =
11111011
- 补码在计算机中使用广泛,因为它简化了加法、减法的操作,并且没有两个表示零的情况(原码和反码中都有+0和-0)。
本文作者:xuxuxuJS
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA
许可协议。转载请注明出处!