日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于整型数据符号位扩展的问题

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于整型数据符号位扩展的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于符號擴展的問題,我們大家讀到最多的一句關于符號擴展規律就是“對于無符號整型數據,要擴展成符號位的話,就是將擴展位補零,其他位保持不變。但對于有符號整型數據的符號擴展規律就是:原來符號位為1時,符號擴展位補1;原來符號位為0時,符號擴展位補0;其他位保持不變。”剛開始自己也不太明白為什么會這樣擴展,只是記住了這個規律,后來認真考慮了一下,才明白這里的緣由。

????? 個人認為這個符號擴展的規律是極其不負責任的說法,盡管這個規律不管在什么境況下都是正確的。舉個關于符號擴展的例子:

int a;

char b;

b = -1;

a = b;

這時,在賦值語句中,就要將 char 型b變量隱性轉化成 int 型的數據,就用到符號擴展的知識。我們先看看變量b在內存中的二進制的表示值0xFF, 經過符號擴展后就會變位0xFFFF。我們看到保持低8位不變,將符號擴展位補1。也就驗證了符號擴展規律的正確性,但我們不能只看到這個規律的正確性就算完事,還要考慮這種變換背后的規律以及這種變化最本質的東西。

????? 我們看到char型b變量擴展后的變為0xFFFF,而0xFFFF又是int型的變量為-1在內存中的二進制表示方式。不是char型b變量擴展后只有將符號位用1填充才能變為-1,而是-1的int型數據在內存中的二進制存儲方式為0xFFFF,這才是問題的關鍵!也就是char型b變量要擴展位int型數據,本質上就是用int型類型的數據來表示char型的值。

?????? 因此無論遇到什么類型的整型數據擴展問題,就是用另一種類型的數據來表示原來的數據

?????? 抓住了事物的本質,也就知道了以上關于符號擴展規律的由來,也就造就了這么個通用的規律。但個人認為這個規律只是將關于符號擴展的現象的規律說明了一下,并沒有說明符號擴展的最本質的東西。只是說明了現象而沒抓住本質。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的关于整型数据符号位扩展的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。