摘要:在C語言中,signed/unsigned用于修飾整數變量,signed表示有符號的,unsigned表示無符號的。
在C語言中,所有的十進制整數都會轉化成二進制進行存儲。以8-bit 計算機為例,定義 int a = 1,那么a的存儲方式用表格來表示如下 :
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
上面表格中最左端的為最高位,最右端的為最低位。C語言默認存儲類型為signed,所以 int a = 1等價于signed int a = 1。signed意思為有符號的,其第一位代表正負,剩余的代表大小。當第一位為0時,表示正數。為1時,表示負數。所以signed int a的取值范圍為:-128~127。
int和unsigned的區別。unsigned意思為無符號的,所有的位都為大小,沒有負數,例如:unsigned?int a的取值范圍為:0~255。
補充說明:
- 如果一個表達式同時含有signed和unsigned類型的變量,在對該表達式進行計算時,要注意到C語言的強制類型轉換,否則可能會出錯。
- signed/unsigned只能用于修飾整數變量,不能用來修飾float,double等類型的變量。
https://www.cnblogs.com/lyxcode/p/9449466.html
https://blog.csdn.net/ljianhui/article/details/10367703
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态