unsigned int取值范圍,【基礎】int在計算機中的取值范圍

 2023-12-06 阅读 27 评论 0

摘要:轉自:https://blog.csdn.net/u010812084/article/details/46636537 在程序的錯誤處理中時常會用到 要想判斷int類型的取值范圍,首先要知道:? 1.int類型所占字節數;? 2.整型變量數據在內存中以什么方式存儲; 獲得int型所占字節數 #include&

轉自:https://blog.csdn.net/u010812084/article/details/46636537

在程序的錯誤處理中時常會用到

要想判斷int類型的取值范圍,首先要知道:?
1.int類型所占字節數;?
2.整型變量數據在內存中以什么方式存儲;

獲得int型所占字節數

#include<stdio.h>
int main()
{printf("%d\n",sizeof(int));return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

unsigned int取值范圍。結果:?
結果如圖

得到int所占字節數為4;?
又得知?
整型數據在內存中是以補碼的方式存儲;?
所以當數據>=0時,原碼 = 反碼 = 補碼;?
數值范圍為 0 ~ 2^31 - 1;

#include<stdio.h>
#include<math.h>
int main()
{int a = (pow(2, 31) - 1);printf("%d\n", a);return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

結果如圖?
結果 == 2^31 - 1;

當讓 a 為 2^31時;?
結果如圖?
可以看到結果為 -2^31;?
這是因為?
當a為2^31 - 1時,在計算機中的存儲為01111(31個1);(補碼形式)?
a為2^31時,在計算機中的存儲為01111(31個1) + 1 =10000(31個0);(補碼形式)即為 -2^31在計算機中的存儲形式;

當數據小于0時,?
范圍為 -2^31 ~ 0;?
當a為- 2^31 - 1時;?
結果如圖?
為 2^31 -1;

int數據類型范圍。所以int類型的取值范圍為(- 2^31 ~ 2^31 -1);

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/190115.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息