http://blog.sina.com.cn/s/blog_5c6f79380101bbrd.html
https://blog.csdn.net/ganxingming/article/details/1449526
https://www.cnblogs.com/c-primer/p/5992696.html
byte范围-128-->127
byte占一个字节空间,最高位是符号位,剩余7位能表示0-
127,加上符号位的正负,就是-127至+
127,但负0没必要,为充分利用,就用负零表示-
128(即原码1000,
0000)。(计算机转补码后存储)
float和double精度:
float是32位,double是64位
float32位中,有1位符号位,8位指数位,23位尾数为
double64位中,1位符号位,11位指数位,52位尾数位
(一)取值范围看指数部分:
float是有符号型,其中,8位指数位,
2^
8=(-
128—
127),因此实际的范围是-
2^
128—
2^
127,约为-
3.4E38—
3.4E38
同理double范围约是-
1.7E308—
1.7E308,
(二)精度是看尾数部分
float尾数位23位,
2^
23=
8.3E6,7位,所以不同的编译器规定不同,有些是7位,有些8位
double尾数52位,2^
52=
4.5E15,15位,所以double的有效位数是15位
其精度是由32个bit的二进制尾数来确定的,因此准确精度是二进制精度而不是十进制精度,通常可以保证十进制小数点后15位有效精度和第16位的部分精度。
转载于:https://www.cnblogs.com/ssyfj/p/10742920.html