C++細節1:無符號擴展和符號擴展

針對無符號整型和有符號整型

int 最高位是0的話,全部補充爲0。最高位是1的話,全部補充爲1

unsigned 由低位擴展到高位 全部補充爲0

sprintf(s, fmt, ...)

例如

short si = -1;

sprintf(s, "%08X", si);

會進行符號擴展,產生FFFF FFFF

sprintf(s, "%08X", (unsigned short)si);

進行無符號擴展,0000 FFFF。空位用0補齊

FF爲1個字節

FF FF爲一個short

FFFF FFFF 爲一個int,4個字節,8個位置

 

細節纔是C的精髓

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章