c程序中基本整型的取值范围:-32768~32767是怎么算出来的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c程序中基本整型的取值范围:-32768~32767是怎么算出来的?相关的知识,希望对你有一定的参考价值。
整型在你那个版本里是占用两个字节来存储的,每个字节8位,也就是16位的2进制,大家知道这样一个2进制数总是对应着一个正数。
但是要表示正数和负数该怎么办,聪明的科学家在限制的2进制数位数的前提下采取了补码(算法及详细见补码)的形式来存储负数。
第一位是符号位,也就是用它来表明这个数的符号(正数:0 负数:1)所以int型的最大正数为0111111111111111(15个1),其取值为2(15)-1,就是2的15次方减一,即32768-1=32767。
最小负数:1000000000000000,按照补码的运算,得这个2进制数对应的十进制为-32768,这样也解释了为什么最大正数与最小负数的绝对值差1。
扩展:无符号整型的范围是 0~65535,因不含复数部分,包含的正数范围扩大了一倍。 参考技术D 正数:0111 1111 1111 1111 ,2的15次方是32768,0~32767为32768个数,所以正数最大是32767,那么对于负数来说呢,负数:1000 0000 0000 0000表示,最小负数就是-32768。所以范围:-32768~32767
pyc与数据类型
#pyc是半编译,运行程序时候先查找是否有对应的pyc文件,如果没有就新建,如果有比对文件生成时间。
#数据类型
‘‘‘
1.int(整型)
在32位机器上,整型的位数为32位,取值范围231--231-1
在64位机器上,整型的位数为64位,取值范围263--263-1
2.float(浮点数)
3.32和52.3E-4
3.复数
(-5+4j)和(2.3-4.6j)工程领域
4.布尔值
真或假
1和0
True,false
a=1
a=0
if a :print("asdas")
以上是关于c程序中基本整型的取值范围:-32768~32767是怎么算出来的?的主要内容,如果未能解决你的问题,请参考以下文章
C语言中有符号基本整型[signed]int 取值范围(-32768——32767)是怎么算出来的?
为啥C语言中有符号整型变量的取值范围是-32768~32767,麻烦详细解释一下?