Android进阶之通识基础

1 数据类型字节数

1.1 字节

  • 一个字节,8个二进制位

1.2 字节数

(1) 32位编译器
在这里插入图片描述
(2) 64位编译器
在这里插入图片描述

2 正负数二进制的表示

2.1 正负数二进制的表示

(1)正数的值,第一位以0作为正数标识,直接去二进制转10进制,方便计算0开头对应的值。无符号数表示范围为0——255,如下:
①最大为11111111,127+1*26+125+1*24+123+1*22+121+1*20=255

②最小为00000000,027+0*26+025+0*24+023+0*22+021+0*20=0

(2)负数的值,第一位以1作为负数标识,它的真实值是先反码,再补码计算出来的。有符号数表示范围为-128——0——127,如下:
①最大为01111111,126+1*25+124+1*23+122+1*21+12^0=127

(3)负数的值的计算方式:负数的值,反码,补码,取值

  负数: 10000001   
  反码: 01111110     
  补码(就是+1):01111111
  二进制转10进制  -> 127
  加上负号  -127

在这里插入图片描述

2.2 32位操作系统int类型最大值是多少?

Int32 //等于int, 占4个字节. 取值范围:-2147483648——2147483647。

因为一般的编译器默认是有符号(signed int)的,但是有些有编译选项,可以让编译器认为int -> signed int 还是 int -> unsigned int。

2.3 学习链接

为何32位最大的正整数不是4294967295而是2147483647?
通识基础_正负数二进制的表
32位操作系统int类型最大值是多少?

猜你喜欢

转载自blog.csdn.net/chenliguan/article/details/84670079