美文网首页
int数字的表示

int数字的表示

作者: 赵星宇 | 来源:发表于2014-06-20 14:46 被阅读63次

在计算机中int型数字使用补码的形式在存储。
首先说明补码的计算方式。
正数和零的补码就是他们本身。
负数的补码是符号位(最高位)不变,其他位取反的结果+1。
例如
1的补码为1
0的补码为0
-1的原码为
10000000_00000000_00000000_00000001
取反码
11111111_11111111_11111111_11111110
补码为反码加1
11111111_11111111_11111111_11111111
可以看到下面的程序

#include <iostream>
using namespace std;
int main(void) {
    int i = 1;
    cout<<hex<<i<<endl;//1
    i = 0;
    cout<<i<<endl;//0
    i = -1;
    cout<<i<<endl;//ffffffff

    unsigned int j = 0x7fffffff;//max int 2147483647
    cout<<dec<<(int)j<<endl;

    unsigned int k = 0x80000000;//min int -2147483648
    cout<<(int)k<<endl;
}

函数形式为:从小到大,然后突然跳变,最后又从小到大
0->0x7fffffff->0x80000000->0xffffffff
0->2147483647->-2147483648->-1

可知对一个数取负的过程为
1
0x00000001
-1
0xfffffffff
首先改变符号位
0x10000001
然后取补码
0xffffffff

有没有更为方便的方法呢?全部取反然后加一即可。

相关文章

  • int数字的表示

    在计算机中int型数字使用补码的形式在存储。首先说明补码的计算方式。正数和零的补码就是他们本身。负数的补码是符号位...

  • python 内置类型(二)---int,float,compl

    一、int 1.int.bit_length() 获取数字的二进制表示长度例子: 方法等价于: 2.int.to_...

  • 列表 元组 字典

    列表用[]表示 元组用()表示 字典用{}表示 数字型 整型(int) 浮点数(float) 布尔型(bool)...

  • Python数据类型

    数字(Number)类型 int (整数), 如 1, 只有一种整数类型 int,表示为长整型, bool (布尔...

  • Color argb()方法的参数

    COLOR的定义是采用ARGB的方式,以int型数字来表示。Color.argb((int) 255, 32, 4...

  • python 列表 元组 字典

    列表用[]表示 元组用()表示 字典用{}表示 数字型 整型(int) 浮点数(float) 布尔型(bool)真...

  • MySql深度优化浅析

    MySQL注意知识点 INT(N)表示什么? N是显示宽度,不表示存储数字的长度限制。使用zerofill表示长度...

  • Python的基本数据类型

    Number:数字int :整数float :浮点数bool 布尔类型:表示真、假cp...

  • python3 语法注意

    p数字类型 int (整数), 如 1, 只有一种整数类型 int,表示为长整型,没有 python2 中的 Lo...

  • scala 一个经典的小函数

    (f : Int => Int ) f 表示匿名函数名称,方便后面调用, Int=>Int表示匿名函数的类型,表示...

网友评论

      本文标题:int数字的表示

      本文链接:https://www.haomeiwen.com/subject/qtljtttx.html