C++学习笔记6 - 整数的存储
#include <iostream> //带符号整数在内存中的存储 void main() { //所有整数类型 分两种 //无符号整数 也就是 只有 正整数(+) 和 零(0) //有符号整数 也就是 有 负数(-) 正整数(+) 和 零(0) //正整数 在内存中的存储 就是其 二进制形式 //负数 在内存中的存储 就是 其绝对值的二进制形式 取反 再加1 //比如 int a = 10; /* 10 的二进制 就是 1010 单字节补全 0000 1010 int类型 4字节 补全 00000000 00000000 00000000 00001010 按照低字节优先规则存储 00001010 00000000 00000000 00000000 */ int b = -10; /* 由于 10 是负数 所以 会取其绝对值 按照int类型 4字节补全 其绝对值为: 00000000 00000000 00000000 00001010 按位 取反 (每一位 0变1 1变0) 11111111 11111111 11111111 11110101 加 1 11111111 11111111 11111111 11110110 FF FF FF F6 按照低字节位优先 存入内存中 F6 FF FF FF */ /* 假设 内存中有数据 55 66 77 88 该数据是否是负数 就先取出数据(先取得的是低字节 注意顺序) 88 77 66 55 10001000 01110111 01100110 01010101 最高位是 1 为负数 先减 1 10001000 01110111 01100110 01010100 按位取反 01110111 10001000 10011001 10101011 转十进制 并添加负号 -2005440939 */ int c = -2005440939; system("pause"); }
觉得不错,给我一点以太币吧
地址:0xF23FCCbF5A4ee9832CC553c63732BAdfc606A2c2